MVC3 ValidationAttribute Break
-
16-10-2019 - |
Вопрос
Я обновил свой проект с MVC2 до MVC3, и все пользовательские проверки сломались. В какой -то момент в фазе связующего модели он бросает это исключение:
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: value
System.ComponentModel.DataAnnotations.ValidationContext.set_DisplayName(String value)
Я не могу понять, какие изменения ... нет имени отображения ..
Я подозреваю, что Isvalid переопределяет, что, предположительно, каким -то образом изменилось, но подпись такая же.
public override bool IsValid(object value)
{
....
}
БОЛЬШЕ ИНФОРМАЦИИ:
Это, по -видимому, влияет на свойства "attributeTargets.class", как в:
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class MyValidationAttribute : ValidationAttribute {}
Решение
Решением состояло в том, чтобы изменить attributeTargets.class на AttributeTargets.property и переписать каждый валидатор для работы с данным свойством.
Не связан с StackOverflow