【问题标题】:jQuery datepicker validation failjQuery datepicker 验证失败
【发布时间】: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 即可再次开始工作。
  • 太棒了!现在会发生什么,我应该从我的评论中做出回答,这样这个问题就不会陷入困境吗? :)
  • 如果你喜欢的话当然可以。很高兴标记为答案

标签: javascript jquery validation jquery-ui datepicker


【解决方案1】:

确保没有任何其他客户端/服务器端验证启动,我怀疑 JQuery Datepicker dateFormat 是一个红鲱鱼。

【讨论】:

    【解决方案2】:

    我不认为您的问题实际上与日期格式有关。

    看看这里的链接:http://api.jqueryui.com/datepicker/#utility-formatDate

    如果您注意到,它表示您可以使用这些格式的任意组合。我相信这是其他地方的验证问题,而不是日期选择器的初始化。如果日期选择器有问题,即使在验证之前,它也不会以正确的格式输入日期。

    检查您应用此设置的日期字段。您可能需要为该 input 字段明确格式化日期,以便它接受您的日期选择器的格式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      • 2011-11-15
      • 2014-10-08
      • 2011-12-17
      • 2012-07-02
      • 1970-01-01
      相关资源
      最近更新 更多