1

내 프로젝트를 MVC2에서 MVC3으로 업그레이드했으며 모든 사용자 지정 ValidationAttributes가 중단되었습니다.MVC3 ValidationAttribute break

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

나는 아무 표시 이름이없는 ... 어떤 변화 알아낼 수 없습니다 ..

내가 가정으로 IsValid 재정을 의심 : 모델 바인더 단계에서 어떤 시점에서,이 예외를 throw 어떻게 든 변경되었지만 서명은 동일합니다.

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

MORE INFO :

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

답변

0

이 솔루션은 AttributeTargets.Property에 AttributeTargets.Class을 변경하고 각을 재 작성했다 : 그것은 분명히 같이 "AttributeTargets.Class"속성에 영향을

지정된 프로퍼티로 작업하는 발리 데이터.