同じ問題があり、回避策を作成しました。私はそれが完璧ではないことを知っています。
すべての dataannotation 属性に対して、新しいクラスを作成します
public class RequiredAttribute : System.ComponentModel.DataAnnotations.RequiredAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
validationContext.DisplayName = ModelMetadataProviders
.Current
.GetMetadataForProperty(null, validationContext.ObjectType, validationContext.DisplayName)
.DisplayName;
return base.IsValid(value, validationContext);
}
}
public class StringLengthAttribute : System.ComponentModel.DataAnnotations.StringLengthAttribute
{
public StringLengthAttribute(int maximumLength)
: base(maximumLength)
{ }
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
validationContext.DisplayName = ModelMetadataProviders
.Current
.GetMetadataForProperty(null, validationContext.ObjectType, validationContext.DisplayName)
.DisplayName;
return base.IsValid(value, validationContext);
}
}
等....