我有一个表格来收集用户的联系信息,这个表格使用 3 个字段作为出生日期。
我正在使用 Jquery UI 的 Datepicker 来选择日期,并使用 ValidationEngine(此处为源代码,此处为原始开发人员)进行表单验证。
我想在提交表格之前确定日期是正确的。
我建议使用最新版本的验证引擎插件。从他们的Github 自述文件页面:
在引擎中使用 datepicker 是有问题的,因为验证绑定到 blur 事件。由于在字段中输入任何数据之前我们失去了焦点,因此会产生一个奇怪的错误。幸运的是,我们实施了一个在日期选择器绑定期间使用延迟的修复。
要使用此模式,您需要将类 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="">
您没有说是否需要以与验证引擎的默认 ISO YYYY-MM-DD 不同的格式验证日期,但是如果您这样做了,那么我建议您查看这个 stackoverflow 线程,它解决了这个确切的问题,似乎是针对验证引擎的。
$("#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/