ASP.NET MVC 유효성 검사에 사용할 때이 두 유효성 검사 패키지 간의 작동 차이점은 무엇입니까? 개체 이름에 이르기까지 비슷한 개체가있는 것 같습니다. 하나가 다른 것과 관련이 있습니까? 그들의 차이점은 무엇입니까? 이러한 차이점은 어떤 방식으로 다른 사용 사례를 나타 냅니까?
- Fluent Validation (타사 솔루션)
- 데이터 주석 (Microsoft “베이크 인”)
답변
Fluent Validation을 선호합니다 .
- 내 유효성 검사 규칙을 훨씬 더 잘 제어 할 수 있습니다.
- 다른 속성에 대한 조건부 유효성 검사를 수행하는 것이 데이터 주석에 비해 훨씬 쉽습니다.
- 내 뷰 모델에서 유효성 검사를 분리합니다.
- 단위 테스트 는 데이터 주석에 비해 훨씬 쉽습니다.
- 대부분의 표준 유효성 검사 규칙에 대한 우수한 클라이언트 측 유효성 검사 지원이 있습니다.
답변
데이터 주석을 선호하는 이유는 …
- 모든 유효성 검사 규칙은 코드의 한 위치 (모델 메타 데이터 클래스 내) 에서 구성 할 수 있으며 다른 곳에서는 반복 할 필요가 없습니다.
- 데이터 주석 속성을 사용할 때 클라이언트 측 유효성 검사에 대한 탁월한 지원이 있습니다 (다시 한 번 – 유효성 검사 규칙을 반복하지 않음!) .
- 데이터 주석 속성이 있는지 테스트 할 수 있습니다 .
- 커뮤니티에서 만든 멋진 추가 유효성 검사 속성 이 있습니다 (예 : Data Annotations Extensions ).