2012-03-04 4 views
2

나는 PHP에서 프레임 워크를 광범위하게 사용했으며 scenarios은 매우 유용하다고 생각합니다. 요약하면 시나리오를 통해 다양한보기에 대해 서로 다른 유효성 검사 기준을 사용할 수 있습니다.MVC3 : 다른 입력 시나리오에 대한 다른 유효성 확인

질문

내가 다른보기에 대해 서로 다른 검증 기준이 아직 검증에 내장 mvc3을 사용할 수있다 됐나 A 본에 대한 기능을 내장?

난 그냥 새로운 사용자 매개 변수의 유효성을 확인하려는 또 다른 형태로 난 단지 비밀번호 변경을 확인하려는 형태 중 하나에서

설명, 또 다른 곳은 일부 상세한 데이터 입력의 검증이 필요합니다. 모든 값은 동일한 테이블에 저장되지만 다른 입력 값 세트가 필요합니다.

+1

강력하게 형식화 된보기 모델을 사용하여 데이터를 랩핑해야합니다. 이러한 모델은 필요에 따라 필요한 유효성을 유지할 수 있습니다. –

+0

Travis에 동의하십시오. 다른 뷰에 대해 다른 유효성 검사 논리를 사용하려면 각각에 대해 별도의 뷰 모델을 만들어야합니다. http://www.asp.net/mvc/mvc3#BM_Model_Validation_Improvements – timothyclifford

+0

흥미 롭습니다. IValidatableObject를 사용해야 할 것 같습니다. C에 대해 찾을 수있는 내용은 무엇입니까? – arkoak

답변

2

아니요, 기본 제공 프레임 워크 유효성 검증은 속성을 기반으로하므로보기간에 모델을 공유하는 경우 런타임에 유효성 검사 요구 사항을 변경하기가 어렵습니다.

이와 같이, 가장 좋은 방법은 각보기마다 다른 모델을 만드는 것입니다.

사용자 정의 유효성 검사를해야하는 경우

그런 다음 그것은 내장 아니에요 http://fluentvalidation.codeplex.com/

사용할 수있는 모델 실행 시간에 적용하지만, 기존의 ASP.NET MVC 검증 구성 요소와 작동 등을 사용할 수 있습니다 눈에 띄지 않는 유효성 확인/모델 상태 등이 있습니다.

+0

FluentValidation도 좋은 선택 인 것 같습니다. 그러나보기 당 여러 클래스를 사용하여 내 문제를 해결했습니다. 내 질문에 맞는 답변을 거기에있다 같아요 ... == 아니, 당신은 asp.net에서 시나리오를 가질 수없는 간단한 방법입니다. – arkoak