Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法确定如何将jquery.Unobstructive应用于jquery.ui.datepickers以要求日期字段_Jquery_Asp.net Mvc 3_Jquery Ui_Razor_Unobtrusive Validation - Fatal编程技术网

无法确定如何将jquery.Unobstructive应用于jquery.ui.datepickers以要求日期字段

无法确定如何将jquery.Unobstructive应用于jquery.ui.datepickers以要求日期字段,jquery,asp.net-mvc-3,jquery-ui,razor,unobtrusive-validation,Jquery,Asp.net Mvc 3,Jquery Ui,Razor,Unobtrusive Validation,使用MVC3 Razor,我有一个部分视图,其中包含一些文本、两个文本框(StartDate和EndDate)、一个取消和一个搜索按钮 当在StartDate和EndDate文本框中输入无效日期时,文本框会以红色突出显示,并带有日期选取器使用的非突出装饰 我不知道如何要求这些字段并像无效数据条目那样以红色突出显示它们 这是我的密码 <script type="text/javascript"> $(document).ready(function () { $('.date'

使用MVC3 Razor,我有一个部分视图,其中包含一些文本、两个文本框(StartDate和EndDate)、一个取消和一个搜索按钮

当在StartDate和EndDate文本框中输入无效日期时,文本框会以红色突出显示,并带有日期选取器使用的非突出装饰

我不知道如何要求这些字段并像无效数据条目那样以红色突出显示它们

这是我的密码

<script type="text/javascript">
$(document).ready(function () {
    $('.date').datepicker({ dateFormat: "mm/dd/yy" });

    $("#printnoteform").validate({
        rules: {
            startdate: {
                required: true
            },
            enddate: {
                required: true
            }
        },
        messages: {
            startdate: {
                required: "Required"
            },
            enddate: {
                reqquierd: "Required 2"
            }
        }
    });
});
</script>
开始日期和结束日期的HTML

<input type="text" id="startdate" name="startdate" class="date" />
<input type="text" id="enddate" name="enddate" class="date" />

我没有浏览器错误,StartDate和EndDate不是模型的一部分,如果不需要的话,我不想制作一个。Web.config设置正确


我错过了什么?

你有两种相互排斥的可能性:

  • 不引人注目地使用jquery
  • 手动连接表单的验证规则
  • 如果希望使用jquery不引人注目,则不应手动向表单中添加任何
    。验证
    规则(就像您所做的那样)。这是由jquery unobtrusive脚本自动完成的。当然,为了让它能够做到这一点,您的输入字段应该使用HTML5数据-*属性进行修饰,以指示要使用的规则和消息。例如:

    <input class="text-box single-line" data-val="true" data-val-required="The startdate field is required." id="startdate" name="startdate" type="text" value="" />
    <input class="text-box single-line" data-val="true" data-val-required="The enddate field is required." id="enddate" name="enddate" type="text" value="" />
    
    
    
    通常,这是使用视图模型并绑定到其属性时,标准Html帮助程序(如EditorFor)生成的输出。它们使用视图模型上的数据注释来推断验证规则,并将其转换为Data-*属性

    第二种可能是手动连接验证规则。在这种情况下,您应该删除jquery不引人注目脚本的任何痕迹,因为它将与表单上的
    .validate
    规则冲突。在这种情况下,由您定义规则和消息

    <input class="text-box single-line" data-val="true" data-val-required="The startdate field is required." id="startdate" name="startdate" type="text" value="" />
    <input class="text-box single-line" data-val="true" data-val-required="The enddate field is required." id="enddate" name="enddate" type="text" value="" />