使用启用了客户端和非侵入式验证的 MVC4,我试图了解验证如何确定输入的 DateTime 值是否有效。
在我的应用程序中,这个格式化的日期是有效的:01/31/2013
,而如果我输入:31/01/2013
,我得到:
字段 [fieldId] 必须是日期
它如何确定什么是有效日期?
使用启用了客户端和非侵入式验证的 MVC4,我试图了解验证如何确定输入的 DateTime 值是否有效。
在我的应用程序中,这个格式化的日期是有效的:01/31/2013
,而如果我输入:31/01/2013
,我得到:
字段 [fieldId] 必须是日期
它如何确定什么是有效日期?
它如何确定什么是有效日期?
它使用客户端浏览器上定义的当前文化来确定正确的格式。例如,如果您的浏览器被配置为使用en-US
默认语言,那么正确的格式是M/d/yyyy
. 如果您的客户端浏览器配置为使用fr-FR
语言,则正确的格式为dd/MM/yyyy
.
这完全取决于您的浏览器配置为使用什么语言。
好问题。这似乎是 MVC 3 中一个持续存在的问题。我一直都看到它。有无数关于这个问题的投诉http://forums.asp.net/t/1831712.aspx/1
Darin Dimitrov 写了一篇很棒的文章,其中他使用 DataStringFormat 来强制它。
我强烈推荐它。伟大的阅读。如果您使用它,请给他的答案+1。
对于我的$$$,我将坚持并发誓JQuery 日期选择器填充不可编辑的控件以使用户受益。