jquery validate()不接受datepicker格式

时间:2015-03-04 11:19:39

标签: jquery jquery-ui jquery-ui-datepicker

使用jQuery datepicker,dateFormat为d M, yyyy

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

这就是我在表格上的内容:

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

这是我的JSFIDDLE

谢谢!

1 个答案:

答案 0 :(得分:2)

原标题:

  

" jquery validate()不接受datepicker格式"

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


您的Datepicker代码存在缺陷:

$('.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"


修改

根据您的评论,Datepicker会弹出日期字段。那是因为这些字段被标记为"无效"并根据jQuery Validate插件引起关注。日期字段上有maxlength="10"属性,jQuery Validate插件会自动为其规则使用这些内联HTML 5验证属性。由于字段中的日期不符合此maxlength规则,因此标记为无效。该插件将使任何无效字段成为焦点;并使您的日期字段成为焦点将自动调出Datepicker窗口。只需删除内联maxlength属性,并制定更明智的验证规则。

DEMO 2:http://jsfiddle.net/emko0hzr/4/