내가 모듈 수준 유효성 검사기를 사용하고어떻게 모듈 수준 검사기는 속성 수준 검사기 후에 만 평가됩니까? 과 같이, 내보기 모델에 'PropertiesMustMatch':
[PropertiesMustMatch("Password", "PasswordConfirm")]
public class HomeIndex
{
[Required]
public string Name { get; set; }
public string Password { get; set; }
public string PasswordConfirm { get; set; }
}
내가 이름없이 양식을 제출하는 경우에 가득한 것을 알았어 야의의 ValidationSummary() 헬퍼 만 반환 다음과 같은 오류가 :
: 나는 이름을 입력하면
- 'Password' and 'PasswordConfirm' do not match.
- The Name field is required.
그러나, 는의 ValidationSummary()는 PropertiesMustMatch의 오류를 반환합니다
그래서 속성 수준 검사기가 먼저 평가되고 모델 수준 검사기처럼 보입니다.
그들은 모두 한 번에 확인한다면 내가 많이 선호하고의 ValidationSummary가 반환:
- The Name field is required.
- 'Password' and 'PasswordConfirm' do not match.
나는이 문제를 해결하기 위해 할 수있는 어떤 아이디어?
MVC 2 소스 코드를 연구하여 왜 이런 일이 발생하는지 확인하려고합니다.
제가 예상했듯이이 클래스를 상속하면 문제가 발생합니다. 기본적으로 [필수]를 제외한 모든 유효성 검사기를 건너 뜁니다. :( – Jonathan
위의 문제가 해결되었습니다. 'base.OnModelUpdated'를 호출해야하는 기묘한 이유 때문에 평소와 같이 작동합니다. – Jonathan