如何获取带参数的本地化属性错误消息?

时间:2016-04-14 15:10:02

标签: c# validation data-annotations

我使用验证属性,我想本地化我的错误消息。我找到了this

[RegularExpression(
    "^[a-zA-Z0-9_]*$", 
    ErrorMessageResourceType=typeof(Resources.RegistrationModel),
    ErrorMessageResourceName= "UsernameError"
)]

您甚至可以使用如下资源字符串来执行此操作:

"{0} is in an invalid format."

它将填写属性名称。几乎我想要的,但是我想要传递一个特定的字符串,如"User name""Phone number",而不是属性名称(实际上我也希望从资源文件中获取这些字符串)。

这可能吗?或者我的资源文件中是否有很多非常相似的字符串?

1 个答案:

答案 0 :(得分:2)

您应该使用Display属性。

实施例

[Display(Name = "Description", ResourceType = typeof(Messages))]
public MessageModel Description { get; set; }

当然,Name参数应该在资源中命名为字符串。