4

MVC 3 사이트가 있지만 MVC가 아닌 FluentValidation dll을 사용하고 있습니다. 나는 발리 클래스를 생성하고 생성자에서 내 모든 RuleFors을 넣어 다음 문제는 검증 클래스의 생성자는 결코 호출되지 도착이다, 따라서 내 모델 클래스에FluentValidation 유효성 검사기가 호출되지 않음

[FluentValidation.Attributes.Validator(typeof(MyValidator))] 

를 속성을 설정했습니다. 나는 그것이 MVC 버전의 dll을 사용하지 않기 때문에 그것이 될 것이라고 생각하지만 그때 나도 그 버전이 나를 위해 일할 수 없었다.

도움을 주시면 감사하겠습니다.

감사합니다,

Sachin

당신의 Application_Start에서

답변

6

사용자 정의 유창하게 검증 모델 검증 공급자, 그렇지 않으면 아무것도 일어나지 않습니다 초기화되는지 확인하십시오

FluentValidation.Mvc.FluentValidationModelValidatorProvider.Configure(); 

FluentValidationModelValidatorProvider 클래스는 내부에 정의된다 FluentValidation.Mvc 어셈블리. integrating FluentValidation into an ASP.NET MVC site에 대한 설명서를 살펴보십시오.

당신이 인수로 [Validator] 속성으로 장식 된 모델 복용 컨트롤러 액션 호출 할 때 검증이 발생됩니다

: 사용하고있는 것으로

[HttpPost] 
public ActionResult Process(MyViewModel model) 
{ 
    ... 
} 
+2

확인을'FluentValidation.Mvc', NOT'FluentValidation.Mvc.WebApi '공급자가 양쪽 모두에 존재하기 때문에. 날 잡았어. – fearofawhackplanet

관련 문제