没有显示FluentValidation NotEmpty消息

本文关键字:NotEmpty 消息 FluentValidation 显示 | 更新日期: 2023-09-27 18:13:32

例如,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." ?

没有显示FluentValidation NotEmpty消息

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

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