Я обновил свой проект с 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 {}