我正在使用 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/