jQuery datepicker验证消息问题

Abh*_*hek 10 jquery jquery-validate jquery-ui-datepicker

我正在使用http://plugins.jquery.com/project/datepick上的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>
Run Code Online (Sandbox Code Playgroud)

文件正文如下:

<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>
Run Code Online (Sandbox Code Playgroud)

表单第一次验证,但是日期选择器的错误消息不会立即消失,但是如果第二次选择日期,它就会消失.任何帮助,使其第一次选择日期,将不胜感激

小智 21

您想在datepicker默认值中设置此值:

onClose: function() {$(this).valid();},
Run Code Online (Sandbox Code Playgroud)

一旦选择了另一个日期,它将使验证器插件重新检查该字段.

  • 你可能真的想做`onSelect:function(){$(this).valid(); 否则,如果您不希望在提交表单之前触发验证,如果此人打开数据贴图(通过将焦点设置为字段),则在将焦点设置到另一个字段时将触发验证错误消息.如果你把它放在选择上,它会在实际选择一个值时将该字段标记为有效. (7认同)