jQuery Validator验证同一字段上的两种格式

时间:2018-06-06 07:11:24

标签: jquery jquery-validate date-format

我有一个包含多个日期字段的表单,每个字段都有唯一的名称和id字段。我想将日期验证为 dd / mm / yyyy 。我正在使用基于php codeigniter的cms fuelcms ,它会自动生成带验证程序数据属性的日期字段。我已将规则设置为验证dateITA格式(dd / mm / yyyy),但是当我输入日期时,它似乎检查了两种格式:

  1. 日/月/年
  2. 毫米/日/年
  3. 我不知道是什么导致了这个问题,因为我已经禁用了我的规则所以现在它正在验证 mm / dd / yyyy 而且我不会知道它在哪里设置该规则,因为默认值是dateISO(yyyy-mm-dd)。

    如何达到预期效果?

    HTML

    <input type="text" name="date_of_birth" value="" 
        class="datepicker field_type_date date hasDatepicker" size="12" 
        placeholder="dd/mm/yyyy" required="" data-date_format="dd/mm/yy" 
        data-first_day="0" data-show_on="focus" id="date_of_birth" autocomplete="bday" 
        aria-required="true">
    

    JS

    $('#job-form').validate({
        errorClass:'small text-danger',
        rules: {
            date_of_birth: {
                dateITA: true
            }
        }
    });
    

    #job-form是表单的ID

1 个答案:

答案 0 :(得分:1)

您的代码:

jsfiddle.net/vomu9rf7

12/12/2018有效,但31/12/201812/31/2018均无效。这是因为您的内联class属性包含date,它会自动触发jQuery Validate的date方法。由于您还要声明dateITA,该插件会同时对您的字段datedateITA应用两个不同的日期规则,这些规则彼此冲突。

删除date类,dateITA规则正常运行:

DEMO:jsfiddle.net/r1kwjv35/