MVC3 ValidationAttribute break - PullRequest
       15

MVC3 ValidationAttribute break

1 голос
/ 21 января 2011

Я обновил свой проект с MVC2 до MVC3, и все пользовательские атрибуты Validation сломались.В какой-то момент на этапе связывания модели выдается это исключение:

Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: value
System.ComponentModel.DataAnnotations.ValidationContext.set_DisplayName(String value) 

Я не могу понять, какие изменения ... нет DisplayName ..

Я подозреваю, что IsValidпереопределить, который предположительно каким-то образом изменился, но подпись такая же.

public override bool IsValid(object value)
{
   ....
}

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Очевидно, что это влияет на свойства "AttributeTargets.Class", как в:

[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class MyValidationAttribute : ValidationAttribute {}

1 Ответ

0 голосов
/ 01 февраля 2011

Решением было изменить AttributeTargets.Class на AttributeTargets.Property и переписать каждый валидатор для работы с данным свойством.

...