javascript - 哪里触发jquery.validate.js中的 "Please enter a valid date."

标签 javascript jquery validation date datepicker

我正在使用 jQuery UI 版本 1.12.1 和 jQuery Validation v1.15.0

我创建了一个日期选择器,如下所示:

if ($.fn.datepicker) $(':input.date').datepicker({
          changeMonth: true,
          changeYear: true
    });

默认情况下,日期格式为 mm/dd/yyyy,例如 01/26/2017,代表 2017 年 1 月 26 日。

我试图将日期格式更改为 dd/mm/yyyy,因此我按如下方式更改日期选择器:

if ($.fn.datepicker) $(':input.date').datepicker({
      changeMonth: true,
      changeYear: true,
      dateFormat: 'dd/mm/yy'
});

好了,现在日期格式显示正确了,如我所愿,变成了 26/01/2017,代表 2017 年 1 月 26 日。

但是,它会抛出红色错误消息请输入有效日期。。经过调试,我发现错误信息实际上来自jquery.validate.js的第357行:

messages: {
        // some other code
        date: "Please enter a valid date.",
        // some other code
    },

知道它如何/为什么抛出此错误消息吗?

我的 jQuery UI 版本与 jQuery 验证版本不兼容吗?

敬请指教。

最佳答案

找到了,其实是jquery.validate.min.js中的一个日期方法验证触发的,即第1356行:

// http://jqueryvalidation.org/date-method/
        date: function( value, element ) {
            return this.optional( element ) || !/Invalid|NaN/.test( new Date( value ).toString() );
        },

关于javascript - 哪里触发jquery.validate.js中的 "Please enter a valid date.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41435873/

相关文章:

javascript - 输入键功能有时有效有时无效

javascript - 如何覆盖 marked.js ul 元素?

javascript - 单击切换类

javascript - ajax 错误导致函数调用成功

C - 文件输入/验证 LINUX/Windows 问题

javascript - 如何在 javascript 中获取托管 bean 属性值

javascript - 删除对象 JS 中的节点

javascript - 单击按钮时仅为其顶级祖先应用事件

matlab - 如何在MATLAB中验证概率神经网络给出的输出?

validation - 仅验证 AngularJS 中的可见控件