【问题标题】:validationengine date validation using multiple fields使用多个字段的validationengine日期验证
【发布时间】:2013-01-16 14:40:40
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    我建议使用最新版本的验证引擎插件。来自他们的Github readme page

    带有日期选择器的 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 的格式验证日期,但是如果您这样做了,那么我建议您查看 this stackoverflow thread 它解决了这个确切的问题,似乎是验证引擎。

    【讨论】:

      【解决方案2】:
      $("#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/
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-23
        • 1970-01-01
        • 1970-01-01
        • 2019-06-03
        • 2015-04-19
        • 2013-03-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多