DataAnotations在错误消息中不使用DisplayName属性

时间:2015-05-28 19:35:13

标签: c# asp.net validation

在我的应用程序中,我使用下面的dataAnotation来验证我的ViewModel:

[DisplayName("Provider Business Name") ]
[StringLength(35)]
public string ProviderBusinessName
{
    get { return _providerBusinessName; }
    set { _providerBusinessName = value.ToUpper(); }
}

我的环境是Asp.Net Webforms 4.0,我使用以下代码手动调用验证:

dynamic context = new ValidationContext(datamodel, serviceProvider: null, items: null);
results = new List<ValidationResult>();
return Validator.TryValidateObject(datamodel, context, 
                                   results, validateAllProperties: true);

我的问题是错误消息使用属性名称而不是DisplayName属性的内容。据我所知,验证属性应该在错误消息中使用DisplayName。

2 个答案:

答案 0 :(得分:1)

你试过了吗?

[Display(Name = "Provider Business Name")]

答案 1 :(得分:1)

尝试使用Display属性(这将使其适用于您的验证,使您有权使用其中的资源进行本地化):

 [Display(Name = "Provider Business Name")]