Fluent Validationを使用しようとしていますが、最初は使いやすいように見えますが、現在は問題があります。以下に示す SignIn ビュー モデルを検証する必要があります。
public SignInViewModelValidator(IMembershipService membershipService)
{
_membershipService = membershipService;
RuleFor(x => x.EMail).NotEmpty().EmailAddress();
RuleFor(x => x.Password).NotEmpty().Length(6, 20);
Custom(x =>
{
var user = _membershipService.ValidateUser(x.EMail, x.Password);
if (user == null)
return new ValidationFailure("EMail", "Your E-Mail Address or password was invalid.");
return null;
});
}
しかし、次のように、すべてのエラーを一度に取得しています。
- 「電子メール」を空にすることはできません。
- メールアドレスまたはパスワードが無効です。
- 「パスワード」を空にすることはできません。
他のルールが無効な場合にカスタム検証ルールをチェックしないように、この動作を変更するにはどうすればよいですか? つまり、'EMail' フィールドと 'Password' フィールドが有効な場合にのみ、カスタム検証ルールをチェックする必要があります。