0

我有一个 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>

但是问题还是一样,请问有什么办法吗?

4

1 回答 1

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示例。

于 2013-02-23T18:53:41.957 回答