JQuery验证和MVC 3.如何更改日期格式

时间:2012-03-19 23:38:17

标签: asp.net-mvc-3 validation

我是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以便它像所有其他内置数据一样工作使用数据注释进行验证。

谢谢。

2 个答案:

答案 0 :(得分:8)

当您对日期使用客户端验证时,您还必须覆盖日期的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下载。

答案 1 :(得分:1)

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

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

DataFormatString是您所需的日期时间格式。