gpt4 book ai didi

c# - 当第一个失败时是否可以停止检查进一步的验证?

转载 作者:太空狗 更新时间:2023-10-29 23:31:05 26 4
gpt4 key购买 nike

否则我总是需要在执行任何其他验证之前检查该值是否为 null。如果我有许多使用 Must() 的自定义检查,那就有点烦人了。

我将 NotEmpty() 放在它的最顶部,因此它已经返回 false,是否可以到此为止?

例子

RuleFor(x => x.Name)
.NotEmpty() // Can we not even continue if this fails?
.Length(2, 32)
.Must(x =>
{
var reserved = new[] {"id", "email", "passwordhash", "passwordsalt", "description"};
return !reserved.Contains(x.ToLowerInvariant()); // Exception, x is null
});

最佳答案

参见 here .它称为 CascadeMode,可以像这样在单个规则上设置:

RuleFor(x => x.Name)
.Cascade(CascadeMode.StopOnFirstFailure)
.NotEmpty()
.Length(2, 32);

或者可以全局设置:

ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure;

注意:如果您全局设置它,它可以在任何单独的验证器类或任何单独的规则上被 CascadeMode.Continue 覆盖。

关于c# - 当第一个失败时是否可以停止检查进一步的验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24899618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com