Sta*_*tan 5 c# asp.net asp.net-mvc fluentvalidation fluentvalidation-2.0
否则,我总是需要null在执行任何其他验证之前检查该值是否存在.如果我有许多正在使用的自定义检查,这有点烦人Must().
我放在NotEmpty()它的最顶层因此它已经返回假,是否有可能停在那里?
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
});
Run Code Online (Sandbox Code Playgroud)
看这里。它称为 CascadeMode,可以在单个规则上设置,如下所示:
RuleFor(x => x.Name)
.Cascade(CascadeMode.StopOnFirstFailure)
.NotEmpty()
.Length(2, 32);
Run Code Online (Sandbox Code Playgroud)
或者可以通过以下方式进行全局设置:
ValidatorOptions.CascadeMode = CascadeMode.StopOnFirstFailure;
Run Code Online (Sandbox Code Playgroud)
CascadeMode.Continue注意:如果您全局设置它,则可以在任何单独的验证器类或任何单独的规则上覆盖它。
| 归档时间: |
|
| 查看次数: |
330 次 |
| 最近记录: |