除了基于注释的验证机制外,EF还提供了所谓的“Facets”。在字符串属性上的含义,您可以使用“最大长度”构面(通过EF模型配置),其中指定最大长度为80个字符。大多数情况下,当您使用数据库第一种方法时,这将由EF自动完成。
如果现在该属性包含超过指定数量的字符,EF将抛出带有消息的DbEntityValidationResult
[PropName]:字段[PropName]必须是字符串或数组类型,最大长度为“80”。
我的问题:如何本地化此类消息???我还需要德语和意大利语......
答案 0 :(得分:1)
Maarten Balliauw写了一篇关于它的博客博客:
Localize ASP.NET MVC 2 DataAnnotations validation messages
更新您的类以使用ErrorMessageResourceType
和ErrorMessageResourceName
参数,而不是您通常传递的ErrorMessage参数。
此外,您可以本地化您的DisplayNameAttributes;这是一篇Stackoverflow帖子,解释了如何做到这一点:Localization of DisplayNameAttribute
<强>更新强>
我认为如果您安装.NET Framework语言包,则应该为您翻译这些标准消息。
警告(发生在我身上):ASP.NET MVC 3 localized validation messages work on my machine, but not on server