MVC 프로젝트에서 Fluent Validation (http://fluentvalidation.codeplex.com)을 사용하여 2 가지 규칙을 만들고 싶습니다.유창한 사용자 정의 유효성 검사
회사와 이름이 모두 비어 있으면 아무 것도 일어나지 않아야합니다. 둘 중 하나라도 채워지면 아무 것도 발생하지 않습니다. 회사 또는 이름이 채워지지 않은 경우 둘 다에 레이블을 표시하십시오.
필자는 지금까지 시도 (오류 메시지가 동일 할 수 있음) : 필자와 않는 한,하지만 그들 중 누구도 작동하지해야하는 경우, 조합을 시도
RuleFor(x => x.Name)
.NotEmpty()
.WithMessage("Please fill in the company name or the customer name")
.Unless(x => !string.IsNullOrWhiteSpace(x.Company));
RuleFor(x => x.Company)
.NotEmpty()
.WithMessage("Please fill in the company name or the customer name")
.Unless(x => !string.IsNullOrWhiteSpace(x.Name));
. 아무 것도 기입하지 않으면 오류가 두 속성에 표시되지 않습니다.
아무도 도와 줄 수 있습니까?
아무도이를 고칠 방법을 모릅니다. : – Robin
문제를 재현 할 수 없으며 정확한 규칙을 사용하여 간단한 테스트를 실행했으며 이름과 회사가 모두 null 인 경우 오류가 발생합니다. FluentValidation을 통합 할 때 문제가 될 수 있습니까? ASP.NET MVC, 즉 다른 규칙은 작동합니까? –
정상적인 상황에서 작동하지만,이 양식이 ajax (jquery validate)와 함께 게시된다는 사실을 여러분에게 알릴 수 있어야합니다. , Unless 및 반드시 서버 측에서 실행되어야하므로 클라이언트 측에서 유효성을 검사 할 수 없습니다. NotEmpty()와 같은 특정 규칙은 클라이언트 측에서 작동하지만, 필요하지 않으면 반드시 필요합니다. 페이지 포스트 백을 확인하십시오. – Robin