使用多个字段验证发动机日期验证

时间:2013-01-16 14:40:40

标签: jquery-ui validation jquery-validation-engine

我有一个表单来收集用户的联系信息,此表单使用3个字段表示出生日期。

我正在使用Jquery UI的Datepicker来选择日期,并使用ValidationEngine(source here和原始开发人员here)进行表单验证。

在提交表单之前,我想确定日期是否正确。

2 个答案:

答案 0 :(得分:0)

我建议使用最新版本的validationengine插件。来自Github readme page

带有日期选择器的ValidationEngine

对引擎使用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/