在我的应用程序中,我使用下面的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。
答案 0 :(得分:1)
你试过了吗?
[Display(Name = "Provider Business Name")]
答案 1 :(得分:1)
尝试使用Display属性(这将使其适用于您的验证,使您有权使用其中的资源进行本地化):
[Display(Name = "Provider Business Name")]