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

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

RuleFor(r => r.EmailAddress)
                .NotEmpty().WithMessage("Email address is required.")
                .EmailAddress().WithMessage("Email address is not valid.");

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

最佳答案

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

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

关于c# - FluentValidation NotEmpty 消息未显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24839639/

10-12 04:37