【问题标题】:JQuery Validation and MVC 3. How to change date formatJQuery Validation and MVC 3. 如何更改日期格式
【发布时间】:2012-03-19 23:38:16
【问题描述】:

我是 MVC 3 和 JQuery Validation 的新手,所以我能在这里得到的任何帮助都将不胜感激。

我的开发平台是 .NET MVC 3 网站。我正在使用内置的不显眼的 javascript 进行表单验证。有没有办法将日期更改为有效日期的不同格式。据我所知,有效格式是 dd/mm/yy。是否可以将有效日期格式更改为“2012 年 4 月 3 日”之类的格式?

我的视图模型有一个字段

[Required]
DateTime OrderDate { get; set; }

我知道 MVC 3 在后台使用 jquery 验证,所以我认为该解决方案需要更改 jquery validate 并且不知道如何将它连接到 MVC,以便它像所有其他内置数据一样工作使用数据注释进行验证。

谢谢。

【问题讨论】:

    标签: asp.net-mvc-3 validation


    【解决方案1】:

    当您对日期使用客户端验证时,您还必须覆盖对日期的 jQuery 验证。

    $.validator.methods.date = function (value, element) {
        return this.optional(element) || Globalize.parseDate(value, "MMM dd, yyyy") !== null;
    }
    

    您必须在 HTML 头中引用 Globalize 库和适当的文化。从https://github.com/jquery/globalize下载。

    【讨论】:

      【解决方案2】:

      如果您想更改订单日期的格式,您可以使用 DisplayFormat 注释:

      [DisplayName("Order Date")]
      [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yy}")]
      [Required]
      DateTime OrderDate { get; set; }
      

      DataFormatString 是您想要的日期时间格式。

      【讨论】:

      • 谢谢,但它不起作用。如上所述,我的日期格式是“2012 年 3 月 18 日”,所以我用我的格式稍微调整了您的建议,但日期的验证仍然失败。 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MMM dd, yyyy}")]
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 2017-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      相关资源
      最近更新 更多