例如,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/