FluentValidation을 사용하여 일부 ViewModel 객체에 대한 유효성 검사 논리를 표현하는 MVC 3 응용 프로그램이 있습니다. 다음과 같이 객체의FluentValidation을 사용하여 필드 또는 필드의 UI 오류를 표시하는 방법
하나는 두 가지 속성이 있습니다 :
[DisplayNameAttribute(UiConstants.Telephone)]
public string Telephone { get; set; }
[DisplayNameAttribute(UiConstants.Email)]
public string Email { get; set; }
규칙은 이러한 속성 중 하나가 UI에 입력해야하고 나는 UI 중 적어도 하나에 대한 확인 메시지를 표시 할 사용자가 제출을 누르지 만 포스트 백을 수행하지 않을 때의 필드 (이메일).
내가 유효성이 검증
RuleFor(contact => contact.Email)
.Must((contact, email) => string.IsNullOrWhiteSpace(email) != string.IsNullOrWhiteSpace(contact.Telephone))
.WithMessage(ValidationConstants.EmailOrTelephone);
에 다음 코드로 작동하도록 할 수 있으며이 있지만, 단지 다시 게시 후, UI에 내 유효성 검사 오류 메시지가 표시됩니다.
Custom(contactUs =>
{
return string.IsNullOrWhiteSpace(contactUs.Telephone) && string.IsNullOrWhiteSpace(contactUs.Email)
? new ValidationFailure("Email", ValidationConstants.EmailOrTelephone)
: null;
});
을 다음 그러나이 같은 방식으로 행동으로
는 또한 사용자 정의 유효성 검사기를 사용했다.
내가 원하는 방식으로 작동하지 않습니까?
PostBack을 수행하지 않고 UI에 표시 할 오류 메시지를 얻기 위해 유효성 검사기를 수행하는 다른 방법이 있습니까?
DataAnnotations도 사용할 수 있지만 FluentValidation을 사용하여이 작업을 구체적으로 수행하려고합니다.
많은 감사
브라이언