我正在使用 jQuery datepicker 和 dpDate 插件来验证输入。当年份不是 4 位数时,我希望验证失败。(当有人使用键盘输入日期时,这似乎是可能的)。
dpDate 在 80-01-01(1980 年 1 月 1 日)返回 true。但它应该用户强制写成 1980-01-01
谁能帮我?
我正在使用 jQuery datepicker 和 dpDate 插件来验证输入。当年份不是 4 位数时,我希望验证失败。(当有人使用键盘输入日期时,这似乎是可能的)。
dpDate 在 80-01-01(1980 年 1 月 1 日)返回 true。但它应该用户强制写成 1980-01-01
谁能帮我?
插件的名称是jquery.ui.datepicker.validation.js
;dpDate
是它定义的新验证方法之一。为了其他读者的利益,可以在以下位置找到它:
http://keith-wood.name/uiDatepickerValidation.html
此方法仅使用$.datepicker.parseDate
您指定的 dateFormat ——如果它不报告错误,则认为输入有效。由于parseDate
允许缩写年份,因此插件也是如此。
相反,您可以使用正则表达式/^\d{4}-\d{2}-\d{2}$/
;这个问题显示了如何添加regex
验证方法。如果将它与该dpDate
方法结合使用,它将检查它是否有 4 位数字,并且它也是一个有效的日期。
jQuery validate:如何为正则表达式验证添加规则?
我在我的应用程序中所做的有点不同。我根本不允许用户直接编辑日期字段。我设置了它readonly
,但这仍然允许 datepicker 填写它。由于 datepicker 总是输入 4 位数的年份,我不必担心验证它。