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 для валидатора:
![5b37c3c8ea776063867147.png](https://habrastorage.org/webt/5b/37/c3/5b37c3c8ea776063867147.png)
Вызывается метод контроллера, в котором проверяется модель на валидность -
...
var isValid = Validator.TryValidateObject(instance, validationContext, validationResults, true);
...
Но в результатах проверки содержатся дефолтные текстовки фреймворка!
![5b37c4627d70d404132572.png](https://habrastorage.org/webt/5b/37/c4/5b37c4627d70d404132572.png)
При этом! Если запускать тот же метод контроллера снова и снова, уже в этом случае, результатом проверки модели будут наши собственные текстовки ошибок (как и должно быть)..
![5b37c4ce4f7ce040299592.png](https://habrastorage.org/webt/5b/37/c4/5b37c4ce4f7ce040299592.png)
Почему в 1 вызове происходит такое?
Спасибо