FluentValidation NotEmpty消息未显示

Rya*_*yan 3 c# validation asp.net-mvc fluentvalidation

例如,FluentValidation验证用户输入的空电子邮件地址。

我链接了两个函数,但它跳过.NotEmpty().WithMessage()并跳转到下一个是EmailAddress().WithMessage()

RuleFor(r => r.EmailAddress)
                .NotEmpty().WithMessage("Email address is required.")
                .EmailAddress().WithMessage("Email address is not valid.");
Run Code Online (Sandbox Code Playgroud)

为什么错误消息是"Email address is not valid."链中的第一个错误消息"Email address is required."

Bar*_*zKP 5

这是因为即使第一个规则失败,也始终会验证最后一个条件。尝试按文档中CascadeMode所述设置,如下所示:

RuleFor(r => r.EmailAddress)
    .Cascade(CascadeMode.StopOnFirstFailure)
    .NotEmpty().WithMessage("Email address is required.")
    .EmailAddress().WithMessage("Email address is not valid.");
Run Code Online (Sandbox Code Playgroud)