我有一个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>
但问题仍然存在,请问有什么想法吗?
答案 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
的底部。