c# - FluentValidation NotEmpty 消息未显示

标签 c# asp.net-mvc validation fluentvalidation

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

相关文章:

javascript - 为什么 React 渲染的 DOM 节点不被 React.PropTypes.node 验证视为节点?

c# - 删除所有添加到 Canvas 的图像

c# - 创建一个 API 来处理对多个 API 的调用以进行集成是否是一种好的做法

asp.net-mvc - HtmlHelper 扩展方法中的依赖注入(inject)?

asp.net-mvc - Asp.net mvc RenderAction RouteData Controller 和操作值

验证:未找到隐式 scalaz.Bind

c# - WCF 服务和 COBOL VM

c# - 查找并激活应用程序的窗口

asp.net-mvc - 如何通过ActionLink传递模型值

mysql - Laravel 验证 MSSQL