日期选择器输入字段所需的验证错误

时间:2019-02-18 10:44:24

标签: jquery datepicker jquery-validate

我正在以dd/mm/yyyy格式输入出生日期,并使用datepicker插件

<input type="text" id="birth_date" name="birth_date" value="" class="form-control date">

日期类的jQuery是

$('.date').datepicker({
    todayBtn: "linked",
    keyboardNavigation: false,
    forceParse: false,
    calendarWeeks: true,
    autoclose: true,
    format: 'dd/mm/yyyy'
});

当我使用jQuery Validate验证输入字段时,出现错误“请输入有效日期”。仅适用于dd/mm/yyyy格式,相反它适用于mm/dd/yyyy格式

$("#frm").validate({
    rules: {
        first_name: { required: true },
        date_of_birth: { required: true }
    },
    messages: {
        first_name: { required: 'Please enter first name' },
        date_of_birth: { required: 'Please select the date of birth' }
    },
    errorPlacement: function (error, element) {
        error.insertAfter(element);
    },
    submitHandler: function(form) {
        form.submit();
    }
});

为什么在仅验证required字段时出现此错误?

1 个答案:

答案 0 :(得分:1)

  

“为什么我仅在必填字段中进行验证时会收到此错误?”

jQuery Validate插件可以多种方式选择规则,包括但不限于...

  • rules方法的.validate()对象中声明。
  • HTML5内联属性,例如required="required"
  • 类名,例如class="required"

当您在class="date"字段上使用input时,您正在调用jQuery Validate插件中的date规则。从date中删除input类。如果您依靠date类的视觉样式,则必须将此类的名称更改为其他名称。