0

我有一个表格来收集用户的联系信息,这个表格使用 3 个字段作为出生日期。

我正在使用 Jquery UI 的 Datepicker 来选择日期,并使用 ValidationEngine(此处为源代码,此处原始开发人员)进行表单验证。

我想在提交表格之前确定日期是正确的。

4

2 回答 2

0

我建议使用最新版本的验证引擎插件。从他们的Github 自述文件页面

带有日期选择器的 ValidationEngine

在引擎中使用 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 线程,它解决了这个确切的问题,似乎是针对验证引擎的。

于 2013-03-04T10:07:22.817 回答
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/
于 2014-03-15T12:39:47.340 回答