我有一个表单来收集用户的联系信息,此表单使用3个字段表示出生日期。
我正在使用Jquery UI的Datepicker来选择日期,并使用ValidationEngine(source here和原始开发人员here)进行表单验证。
在提交表单之前,我想确定日期是否正确。
答案 0 :(得分:0)
我建议使用最新版本的validationengine插件。来自Github readme page:
对引擎使用datepicker是有问题的,因为验证绑定到blur事件。因为在字段中输入任何数据之前我们失去了焦点,所以它会产生一个奇怪的错误。幸运的是,我们实现了一个在datepicker绑定期间使用延迟的修复程序。
要使用此模式,您需要将类datepicker添加到输入中,如下所示:
<input type="text" id="req" name="req" class="validate[required] text-input datepicker" value="">
这应该确保日期字段有效。我怀疑在您的情况下,您还要验证日期是否为实际有效日期,因此您需要将自定义日期检查添加到类的验证部分:
<input type="text" id="req" name="req" class="validate[required,custom[date]] text-input datepicker" value="">
您没有说明是否需要以与validateengine的默认ISO YYYY-MM-DD不同的格式验证日期,但如果您这样做,我建议您查看this stackoverflow thread来解决这个问题,似乎是为了验证发动机。
答案 1 :(得分:0)
$("#date_from_disp").datepicker({ changeYear: true , changeMonth: true, dateFormat: 'mm/dd/yy', altField: '#date_from' , altFormat: 'yy-mm-dd' ,yearRange: '2010:$cur_year',
onSelect: function() {
$('.date_from_dispformError').hide();
}
});
$("#date_till_disp").datepicker({ changeYear: true , changeMonth: true, dateFormat: 'mm/dd/yy', altField: '#date_till' , altFormat: 'yy-mm-dd' ,yearRange: '2010:$cur_year',
onSelect: function() {
$('.date_till_dispformError').hide();
}
});
View full code at : http://rosevinod.wordpress.com/2014/03/15/validationengine-date-validation-using-multiple-fields/