주요 응용 프로그램에 대한 유효성 확인 프레임 워크 중 하나를 선택하려고 시도하고 있는데 두 옵션 모두 유혹적인 것처럼 보입니다. 하나 또는 다른 것을 선택하기 전에 알고 있어야하는 특정 장단점이 있는지 궁금합니다.선택할 유효성 검사 프레임 워크는 다음과 같습니다. 봄 유효성 검사 또는 유효성 검사 응용 프로그램 차단 (Enterprise LIbrary 4.0)?
답변
속성을 사용한 유효성 검사는 제 관점에서 가장 좋은 해결책은 아닙니다. 먼저 도메인 모델에서 인프라를 참조해야합니다. 둘째, 컴파일 된 클래스에 유효성 검사를 추가 할 기회가 없습니다. 마지막으로 속성을 사용하여 복잡한 논리를 검증 할 수 없으며 Validate 메소드를 엔티티로 만들어야 만합니다.
내 생각에 유효성 검사는 다른 객체로 분리되어야합니다. 예를 들어 유효성을 규칙으로 정의 할 수있는 IValidator입니다. xVal과 같은 프레임 워크를 사용하면 JavaScript로 프리젠 테이션 레이어에서 유효성 검사를 수행하는 데 도움이됩니다.
xVal 및 FluentValidation for .NET을 찾고 싶을 수 있습니다. NHibernate Validator 1.2 알파는 구문이 유창하며 xVal과 통합되어 있습니다 (알파는 모르지만 1.0이어야합니다).
엔터프라이즈 검증 블록에도 부정적인면이 거의 없습니다. 내 엔터티의 속성이 3 행의 특성을 갖게되어 가독성이 악화되었습니다. AND 또는 OR 연산자를 사용하여 유효성 검사를 추가하는 것은 상당히 고통 스럽습니다.
유효성 검사 응용 프로그램 블록을 특성과 함께 사용할 필요가 없습니다. 여기에는 구성 기반 검증 방법이 포함됩니다. 이 기사를 읽으십시오 : http://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=46 – Steven
Marek이 설명하는 것과 같은 이유로 속성 기반 구성보다 구성 기반 유효성 검사를 선호하는 반면, VAB 5.0은 DataAnnotations에 의해 도입 된 버디 클래스 기술을 사용하여 유효성 검사를 정의합니다. – Steven
xVal은 ASP.NET MVC 1.0과 함께 사용되었으며 현재는 더 이상 사용되지 않습니다. –
엔터프라이즈 라이브러리 블록에서 발견 한 한 가지 점은 사용자가 원하지 않거나 필요로하지 않는 다른 블록을 사용하도록 강요 할 수 있다는 것입니다. 예를 들어, 검증 블록은 로깅 블록을 사용할 수 있지만 자신의 로깅 시스템에 만족했습니다. 이제 앱이 여러 가지 방식으로 정보를 기록합니다. 즉, Ent Lib에서 유효성 검사 블록의 모양이 마음에 들었습니다. 나는 Spring.NET tho와 함께하지 않았다.
유효성 검사 응용 프로그램 블록에이 문제가 없었습니다. VAB가 로깅 응용 프로그램 블록을 호출하는 코드 나 위치를 지적 할 수 있습니까? – Steven
더 자세히 살펴 보았지만 엔터프라이즈 라이브러리의 유효성 검사 어셈블리에서 모든 로깅 어셈블리로의 직접 호출은 없습니다. 귀하의 응용 프로그램이 직접 로깅 파트를 사용했다고 생각합니다. 내 응용 프로그램에서는 VAB에만 해당하는 어셈블리 만 게시합니다. VAB 5.0을 사용하려면 Common, Validation, ServiceLocation, Unity, Unity.Configuration 및 Unity.Interception이 필요합니다. – Steven
이것은 이전 버전 일 수 있습니다. 내가 이것을 보았을 때 엔터프라이즈 라이브러리 버전 2.0이었습니다. – SteveM
- 1. Enterprise Library 4.0 ValidationProvider 자체 유효성 검사 질문
- 2. ASP에서 유효성 검사/유효성 검사 유효성 검사 .net MVC 3
- 3. 응용 프로그램 유효성 검사 오류
- 4. Html.DropDownList 유효성 검사 오류가없는 유효성 검사 오류
- 5. jQuery submitHandler 트리거 유효성 검사 유효성 검사
- 6. jquery 유효성 검사 프레임 워크를 사용하여 이름 유효성 검사
- 7. 유효성 검사 응용 프로그램 블록을 사용하여 최소한 하나의 항목에 유효성 검사
- 8. 개체 수집시 사용자 지정 유효성 검사 또는 제거 유효성 검사
- 9. .net에서 데이터 유효성 검사
- 10. C# 모델 유효성 검사 - 유효성 검사 응용 프로그램 블록 또는 DataAnnotations?
- 11. 정수 유효성 검사 압축 프레임
- 12. JPA 유효성 검사 전략
- 13. 유효성 검사 및 Linq
- 14. 클래스의 DataAnnotations 유효성 검사
- 15. URL 정규식 유효성 검사
- 16. .Net 개체 유효성 검사
- 17. 유효성 검사 이메일 존재
- 18. 양식 유효성 검사 방법
- 19. 유효성 검사 : 수업 또는 데이터베이스에서합니까?
- 20. 플래시 폼 유효성 검사 : ComboBox 유효성 검사 : AS3 : 플래시 CS3
- 21. 데이터베이스 유효성 검사
- 22. 형식 유효성 검사 요약
- 23. WPF 유효성 검사 - ValidatesOnTargetUpdated
- 24. WinForm에서 데이터 유효성 검사
- 25. 영구 계층 유효성 검사
- 26. 체크 박스 및 aspnet 유효성 검사 유효성 검사
- 27. 빠른 유효성 검사 방법
- 28. Silverlight 유효성 검사 문제
- 29. 봄 MVC 3 -> 유효성 검사
- 30. JQuery와 유효성 검사 또는 조건
웹 또는 데스크톱? 다른 entlib 블록을 사용하고 있습니까? 아키텍처를 지정해 주시겠습니까? – boj
웹 응용 프로그램 용입니다. 응용 프로그램에서 필요하므로 보안 및 로깅과 같은 다른 entlib 블록을 사용할 수 있습니다. Unity를 사용하지는 않겠지 만 Spring.NET에서 그 비트를 처리 할 것입니다. –
저는 Spring.NET에 대한 경험이 없지만 EntLib 블록을 좋아합니다. http://weblogs.asp.net/ricardoperes/archive/2009/03/11/asp-net-validation-with-the-enterprise-library-validation-block.aspx 및 http : //www.davidhayden을 읽어야합니다. .com/blog/dave/archive/2007/02/28/PropertyProx – boj