我在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>
文件的正文如下:
<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>
表单第一次验证,但是日期选择器的错误消息不会立即消失,但是如果第二次选择了日期,它就会消失。第一次选择日期的任何帮助都将受到赞赏
答案 0 :(得分:21)
您希望在datepicker默认值中设置此项:
onClose: function() {$(this).valid();},
一旦选择了另一个日期,它将使验证器插件重新检查该字段。
答案 1 :(得分:3)
“最佳答案”对我不起作用。我发现验证器正在验证日期格式,即使我没有要求它。这是我的解决方案:
$('form').validate(
rules:
{
MyDateControl:{
required:true,
date:false
}
}
);