asp.net mvc 5 приложение.
в global.asax определен собственный адаптер для RequiredAttribute
DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(RequiredAttribute), typeof(CustomRequiredAttributeAdapter));
CustomRequiredAttributeAdapter:
public CustomRequiredAttributeAdapter(ModelMetadata metadata, ControllerContext context, RequiredAttribute attribute)
: base(metadata, context, attribute)
{
if (string.IsNullOrEmpty(attribute.ErrorMessage))
{
attribute.ErrorMessageResourceType = typeof(ValidationResources);
attribute.ErrorMessageResourceName = "RequiredAttribute_ValidationError";
}
}
Есть App_GlobalResources/ValidationResources.resx в котором определены собственные ErrorMessages для валидатора:
Вызывается метод контроллера, в котором проверяется модель на валидность -
...
var isValid = Validator.TryValidateObject(instance, validationContext, validationResults, true);
...
Но в результатах проверки содержатся дефолтные текстовки фреймворка!
При этом! Если запускать тот же метод контроллера снова и снова, уже в этом случае, результатом проверки модели будут наши собственные текстовки ошибок (как и должно быть)..
Почему в 1 вызове происходит такое?
Спасибо