7

使用启用了客户端和非侵入式验证的 MVC4,我试图了解验证如何确定输入的 DateTime 值是否有效。

在我的应用程序中,这个格式化的日期是有效的:01/31/2013,而如果我输入:31/01/2013,我得到:

字段 [fieldId] 必须是日期

它如何确定什么是有效日期?

4

2 回答 2

4

它如何确定什么是有效日期?

它使用客户端浏览器上定义的当前文化来确定正确的格式。例如,如果您的浏览器被配置为使用en-US默认语言,那么正确的格式是M/d/yyyy. 如果您的客户端浏览器配置为使用fr-FR语言,则正确的格式为dd/MM/yyyy.

这完全取决于您的浏览器配置为使用什么语言。

于 2013-01-29T07:08:52.683 回答
2

好问题。这似乎是 MVC 3 中一个持续存在的问题。我一直都看到它。有无数关于这个问题的投诉http://forums.asp.net/t/1831712.aspx/1

Darin Dimitrov 写了一篇很棒的文章,其中他使用 DataStringFormat 来强制它。

在asp.net mvc 4中格式化日期时间

我强烈推荐它。伟大的阅读。如果您使用它,请给他的答案+1。

对于我的$$$,我将坚持并发誓JQuery 日期选择器填充不可编辑的控件以使用户受益。

于 2013-01-27T23:46:37.860 回答