DateTime格式根据MVC中的文化

时间:2013-02-23 18:39:01

标签: jquery validation asp.net-mvc-4 jquery-validate culture

我有一个MVC视图,其中列出名为“CreatedOn”的dateTime类型列,值的格式如下:' DD / MM / YYYY HH:MM:SS ', 当我点击编辑链接修改值时,我获得了相同的格式,

当我修改编辑后的值时,我收到验证错误:“字段CreatedOn必须是日期。

我的EF模型类将此字段映射为DateTime类型。

我的数据库排序规则是 French_CI ,sql server表中的字段是smalldatetime类型, 当我打开桌子查看字段格式时,我发现它像' YYYY-MM-DD HH:MM:SS '

我验证了默认的应用程序文化并找到了“fr-FR”,然后我在web.config文件中添加了下一个代码:

<system.web>
  <globalization uiCulture="fr-FR" culture="fr-FR" />
</system.web>

但问题仍然存在,请问有什么想法吗?

1 个答案:

答案 0 :(得分:2)

jQuery Validate不了解文化。

我相信日期,它只是调用javascript:new Date(value)

你可以使用全球化插件和一些javascript修复此问题。

微软在这里写了一个全球化插件:https://github.com/jquery/globalize

然后你想用这样的东西替换验证方法:

$.validator.methods.date = function (value, element) {
  return this.optional(element) || Globalize.parseDate(value);
}

您可能还想替换数字等其他方法。例如,请查看jquery.validate.js的底部。