jquery validate() 不接受日期选择器格式

jquery validate() not accepting datepicker format

使用 jQuery 日期选择器,日期格式为 d M, yyyy

但是当表单上有验证时 - 这种格式不被接受。

这是我在表格上的内容:

$(".validate").validate();
$('.datepicker').datepicker({autoclose: true, format: "d M, yyyy"});

这是我的 JSFIDDLE

谢谢!

原标题:

"jquery validate() not accepting datepicker format"

您的日期格式问题与 jQuery Validate 完全无关。完全删除 jQuery 验证插件并看到相同的问题:jsfiddle.net/emko0hzr/2


您的日期选择器代码有缺陷:

$('.datepicker').datepicker({autoclose: true, format: "d M, yyyy"});

the documentation for the jQuery UI Datepicker Widget 中的任何地方都没有列出名为 autocloseformat 的选项。

相反,dateFormat 选项用于格式化日期输出...

$('.datepicker').datepicker({dateFormat: "d M, yy"});

工作演示:http://jsfiddle.net/emko0hzr/3/

注意:也没有 yyyy 这样的日期格式。是yy,否则今年会显示为"20152015".


编辑:

根据您的评论,日期选择器会在日期字段上弹出。这是因为这些字段被标记为 "invalid" 并根据 jQuery 验证插件进入焦点。您在日期字段上有一个 maxlength="10" 属性,jQuery 验证插件将自动使用这些内联 HTML 5 验证属性作为其规则。由于字段中的日期不符合此 maxlength 规则,因此它被标记为无效。该插件将使任何无效字段成为焦点;并使您的日期字段成为焦点将自动调出日期选择器 window。只需删除内联 maxlength 属性并放置更合理的验证规则。

演示 2:http://jsfiddle.net/emko0hzr/4/