我的模型中有一个DateTime字段,该字段在我的视图中以某种形式显示:

<div class="editor-field">
    @Html.EditorFor(model => model.Age)
    @Html.ValidationMessageFor(model => model.Age)
</div>

创建新模型并插入我的数据库时,我为其分配了一个值 09/11/1990 15:36:22. 。如果我尝试使用我的视图编辑此模型,请不要更改 Age 对于我的模型,该模型已验证,并且对其他字段的任何更改均被接受并保存。但是,如果我更改 Age 字段到 07/27/2010 15:36:22 我有验证错误” The value '07/27/2010 15:36:22' is not valid for Age. 但是,日期 09/12/2010 15:36:22 已成功验证。有什么原因发生这种情况?在调试器中,返回的无效日期的值为 01/01/0001.

编辑:我认为这与jQuery-validate和我的系统的文化有关,因为客户端验证失败了DD/mm/yyyy格式的任何日期,而服务器端验证的任何日期都在MM中失败/dd/yyyy格式。

有帮助吗?

解决方案

假设您想使模型在客户端工作,那么我会更改您的ASP .NET全球化设置,以迫使系统使用所需的全球化。当您希望客户使用使用一种一致的日期时间格式的系统时,这仅是一个有效的解决方案。

您遇到的问题(我认为)是,有些浏览器对他们使用客户端以及他们向更广阔世界的全球化的全球化不一致。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top