【问题标题】:How can I localize the Entity Framework build-in validation messages/exceptions?如何本地化实体框架内置验证消息/异常?
【发布时间】:2012-10-15 09:05:53
【问题描述】:

除了基于注释的验证机制之外,EF 还提供了所谓的“Facets”。这意味着在字符串属性上,您可以有一个“最大长度”方面(通过 EF 模型配置),您可以在其中指定 80 个字符的最大长度。大多数情况下,当您使用数据库优先方法时,EF 会自动完成此操作。

如果现在属性包含超过指定数量的字符,EF 将抛出 DbEntityValidationResult 和消息

[PropName]:字段[PropName]必须是字符串或数组类型,最大长度为'80'。

我的问题:如何本地化此类消息???我也需要德语和意大利语...

【问题讨论】:

    标签: .net entity-framework c#-4.0 entity-framework-4.1


    【解决方案1】:

    Maarten Balliauw 写了一篇关于它的博客:

    Localize ASP.NET MVC 2 DataAnnotations validation messages

    更新您的类以使用 ErrorMessageResourceTypeErrorMessageResourceName 参数,而不是您通常传递的 ErrorMessage 参数。

    此外,您可以本地化您的 DisplayNameAttributes;这是一个 Stackoverflow 帖子,它解释了如何做到这一点:Localization of DisplayNameAttribute

    更新

    我认为,如果您安装 .NET Framework 语言包,这些标准消息应该会为您翻译。

    一个警告(发生在我身上):ASP.NET MVC 3 localized validation messages work on my machine, but not on server

    【讨论】:

    • 我不想仅仅为了本地化验证消息而用验证注释来装饰我的所有实体。但我之前也考虑过语言包......我想我必须试一试
    猜你喜欢
    • 2012-10-28
    • 2012-04-23
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 2010-09-16
    相关资源
    最近更新 更多