문제

Model-View-Presenter 패턴에서 사용자 입력의 유효성 검사를 작성해야합니다.

도움이 되었습니까?

해결책

도메인 특정 규칙/검증은 모델에 있어야합니다. 규칙이 위반되지 않은지 알려주는 Model.Validate ()를 가질 수 있습니다. 이 개념을 잘 구현하려면 Rails Model (ActiveRecord) 클래스를 살펴보십시오.

뷰는 사용자가 유효하지 않은 입력에서 키를 유지하기가 어렵게 만들어야합니다. 따라서 '숫자 값을 위해 문자열을 입력하십시오'입력 오류 클래스는 발표자에게 도달하기 전에 NIPTER를 제공해야합니다. 모델과 뷰 사이에 유효성 검사의 복제가있을 수 있습니다. 예를 들어 Attributex는 1-100 사이의 범위입니다. 이것은 모델에서 검증되어야합니다. 동시에 MinValue 및 MaxValue 범위가 1-100으로 설정된 UI의 스피너에 슬롯을 슬롯에 넣을 수도 있습니다.

다른 팁

나는 보통 내 견해를 완전히 깨끗하게 유지하고 논리가 없습니다. 그러나 나는 많은 웹 개발을하지 않습니다. Ajax-ish 상황에서는 시야에 들어가야하는 클라이언트 측 유효성 검사를 원할 수 있습니다.

비즈니스 로직 유효성 검사는 모델에서 진행됩니다. 비즈니스 로직 검증을 사용하면 최소 주문 크기를 확인하는 것과 같은 것을 의미합니다.

입력 유효성 검사는 발표자로 이동합니다. 이것은 숫자 필드에 숫자가 아닌 문자가 포함되어 있지 않은지 확인하는 것과 같은 것일 수 있습니다. 그러나 상황에 따라 파일이 존재하는지 확인하는 것도 의미가 있습니다.

다른 장소에서 검증을 재사용 할 수있는 더 복잡한 경우에 나는 일반적으로 다른 장소에서 호출 할 수있는 검증 엔진으로 분리합니다. 이것은 예를 들어 프리젠 테이션 계층에 사용되는 유효성 검사 코드와 지속성 계층과 관련된 일부 문제를 해결합니다.

증여자....

보기에는 가능한 경우 유효하지 않은 입력을 방지하는 "위젯"이 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top