jQuery datepicker 验证失败
Posted
技术标签:
【中文标题】jQuery datepicker 验证失败【英文标题】:jQuery datepicker validation fail 【发布时间】:2015-10-29 16:18:10 【问题描述】:有一个包含 jQuery Datepicker 的表单。日期格式为英国格式(日/月/年),但是如果第一个数字(应该是日期)大于 12,则日期选择器会一直未能通过验证,这表明它正在尝试针对美国格式进行验证,因此会看到日期作为一个月。在 chrome 中,这会停止提交表单。下面的代码是用来初始化datepicker的js:
$(".datepicker").datepicker(
showOn: "button",
buttonImage: "/Images/calendar.gif",
buttonImageOnly: true,
dateFormat: "dd/mm/yy"
);
应通过验证但未通过验证的示例日期为 2015 年 7 月 31 日
如果无法正确验证,我同样乐意删除验证。
【问题讨论】:
你确定是 JQuery datepicker 上的验证器失败了,而不是表单上的另一个客户端验证器? 可能,它是 MVC 表单的一部分,因此实际上可能是数据模型停止了验证,尽管 Internet Explorer 不是问题(但在 IE 中很少能正常工作)。将调查 是的,是 MVC 导致了验证错误。不敢相信我以前没有看过那里。只需将 TextBoxFor 替换为标准 TextBox 即可再次开始工作。 太棒了!现在会发生什么,我应该从我的评论中做出回答,这样这个问题就不会陷入困境吗? :) 如果你喜欢的话当然可以。很高兴标记为答案 【参考方案1】:确保没有任何其他客户端/服务器端验证启动,我怀疑 JQuery Datepicker dateFormat 是一个红鲱鱼。
【讨论】:
【参考方案2】:我不认为您的问题实际上与日期格式有关。
看看这里的链接:http://api.jqueryui.com/datepicker/#utility-formatDate
如果您注意到,它表示您可以使用这些格式的任意组合。我相信这是其他地方的验证问题,而不是日期选择器的初始化。如果日期选择器有问题,即使在验证之前,它也不会以正确的格式输入日期。
检查您应用此设置的日期字段。您可能需要为该 input
字段明确格式化日期,以便它接受您的日期选择器的格式
【讨论】:
以上是关于jQuery datepicker 验证失败的主要内容,如果未能解决你的问题,请参考以下文章
使用 jquery 验证和 jquery-ui datepicker
JQUERY Datepicker - 从 datepicker 选择日期后验证错误不会消失