在哪里触发“请输入有效日期”。在 jquery.validate.js
Posted
技术标签:
【中文标题】在哪里触发“请输入有效日期”。在 jquery.validate.js【英文标题】:Where trigger the "Please enter a valid date." in jquery.validate.js 【发布时间】:2017-05-17 02:16:00 【问题描述】:我正在使用 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 日。
但是,它会抛出红色错误消息Please enter a valid date.
。经过我的调试,我发现错误信息实际上来自 jquery.validate.js 的第 357 行:
messages:
// some other code
date: "Please enter a valid date.",
// some other code
,
知道它如何/为什么抛出此错误消息吗?
是不是我的 jQuery UI 版本与 jQuery 验证版本不兼容?
请多多指教。
【问题讨论】:
【参考方案1】:找到了,其实是jquery.validate.min.js中的一个date方法验证触发的,在1356行:
// http://jqueryvalidation.org/date-method/
date: function( value, element )
return this.optional( element ) || !/Invalid|NaN/.test( new Date( value ).toString() );
,
【讨论】:
/Invalid|NaN/.test(new Date( value ).toString())
应该是isNaN(new Date(value))
。以上是关于在哪里触发“请输入有效日期”。在 jquery.validate.js的主要内容,如果未能解决你的问题,请参考以下文章
Expression Blend 4 中的触发器面板在哪里?
backand 平台:我可以在哪里放置 DB 触发操作的全局方法