2010-08-12 4 views
3

리플렉터로 검색 한 결과 ValidationResult.MemberNames에 둘 이상의 값이 포함될 것으로 예상되는 경우를 찾을 수 없었습니다.ValidationResult.MemberNames 속성에 둘 이상의 값이 포함됩니까?

우선 MS가 왜 이걸해야만하는지 궁금 해서요 IEnumerable<string>, 이제 그들은 이미이 작업을 수행했습니다.이 속성이 하나의 값만 반환 할 수 있습니까? 그들은 더 이상 존재하지 않는 경우

  1. TryValidatePropertyTryValidateObjectvalidationResults 매개 변수에서 오류를 제거해야 다음 DataAnnotations 검증 시스템에 관한

    업데이트
    는 좀 더 sloppiness를 찾을 수 있습니다.

  2. ValidationResult는 Equals 및 GetHashCode를 재정의해야합니다.
  3. 왜 ValidationResult.ErrorMessage를 변경할 수 있습니까? 나는 EqualityComparer를 직접 구축 할 수 없다!
  4. DataTypeAttribute가 표현 문제에만 사용되는 경우 왜 ValidationAttribute를 상속합니까? 오해의 소지가 있습니다. 반영하지 않을 때까지 이해할 때까지 고생해야했습니다. MS는 단지 그것을 구현하지 않았다.

목록이 계속됩니다.

+0

사실, ValidationResult 클래스는 매우 추악합니다. 그리고 정적 인 읽기 전용 필드 인 아이디 어의 Success ...는 항상 null이므로 성공할 확률은 절대적으로 없습니다. 이 불쾌한 ValidationResult 클래스의 인스턴스는 항상 실패입니다. 그것은 직렬화 가능하지 않다는 것을 말할 필요도 없다. – ducu

답변

2

암호 및 암호 확인을 고려하십시오. 또는 시작/중지 값 또는 다른 모든 교차 필드 유효성 검사.

+1

나는 본다. 아직 조금 어리 석다. 내 다른 측면을 보라. – Shimmy