jQuery日期选择器验证消息问题

jQuery日期选择器验证消息问题,jquery,jquery-validate,jquery-ui-datepicker,Jquery,Jquery Validate,Jquery Ui Datepicker,我正在使用jquery datepicker插件和datepicker验证插件 <script id="frmValidation" type="text/javascript"> $(document).ready(function(){ var validator = $("#frmTest").validate({ rules:{ fname: "required", dobPicker: "requir

我正在使用jquery datepicker插件和datepicker验证插件

<script id="frmValidation" type="text/javascript">

$(document).ready(function(){
    var validator = $("#frmTest").validate({
        rules:{
            fname: "required",
            dobPicker: "required" 
        },
        messages:{
            fname: "Please enter a name",
            dobPicker: "Select a date"
        },

    });
    $('#dobPicker').datepick();
    $.datepick.setDefaults({showOn: 'both', dateFormat: 'dd-mm-yy', yearRange:'1900:2010'});
});
</script>

$(文档).ready(函数(){
var验证程序=$(“#frmTest”).validate({
规则:{
fname:“必需”,
多臂选择器:“必需”
},
信息:{
fname:“请输入一个名称”,
dobPicker:“选择一个日期”
},
});
$('#dobPicker').datepick();
$.datepick.setDefaults({shown:'both',dateFormat:'dd-mm-yy',yearRange:'1900:2010'});
});
文件正文如下:

<form id="frmTest" action="" method="post">
<div id="error-list"></div>
<div class="form-row">
<span class="label"><label for="fname">Name</label></span>
<input type="text" name="fname" />
</div>
<div class="form-row">
<span class="label"><label for="dobPicker">DOB</label></span>
<input type="text" id="dobPicker" name="dobPicker" style="margin-left: 4px;"/>
</div>
<div class="form-row">
<input type="submit" name="submit" value="submit"/>
</div>
</form>

名称
出生日期

表单第一次进行验证,但日期选择器的错误消息不会在选择日期后立即消失。。但是,如果第二次选择日期,则该日期将消失。如果您想在日期选择器默认设置中设置此选项,请在第一次选择日期时提供帮助,我们将不胜感激

onClose: function() {$(this).valid();},
一旦选择了另一个日期,它将使验证插件重新检查该字段。

最佳答案对我不起作用。我发现验证器正在验证日期格式,即使我没有要求它。以下是我的解决方案:

$('form').validate(
    rules:
    {
        MyDateControl:{
            required:true,
            date:false
        }
    }
);

我觉得这与datepicker生成的事件有关,验证插件只在某些事件上进行验证。有关更多信息,请参见此:您可能确实希望执行
onSelect:function(){$(this).valid();}
,否则,如果您不希望在提交表单之前启动验证,如果该人员打开数据采集器(通过将焦点设置为字段),则当他们将焦点设置为其他字段时,将触发验证错误消息。如果将其置于select上,则当他们实际选择某个值时,该字段将标记为有效。