Вы можете написать пользовательский DataAnnotationsModelValidator
:
public class GlobalResourceTypeResourceDataAnnotationsModelValidator : DataAnnotationsModelValidator<ValidationAttribute>
{
public GlobalResourceTypeResourceDataAnnotationsModelValidator(
ModelMetadata metadata,
ControllerContext context,
ValidationAttribute attribute
)
: base(metadata, context, attribute)
{
if (Attribute.ErrorMessageResourceType == null)
{
Attribute.ErrorMessageResourceType = typeof(ModelValidationMessages);
}
}
}
и затем в Application_Start необходимо зарегистрировать адаптер для каждого используемого вами атрибута:
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RequiredAttribute), typeof(GlobalResourceTypeResourceDataAnnotationsModelValidator));
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(StringLengthAttribute), typeof(GlobalResourceTypeResourceDataAnnotationsModelValidator));
...