【发布时间】:2015-10-13 15:22:44
【问题描述】:
我已经知道(就像在另一个问题 Using CascadeMode.StopOnFirstFailure on a validator level 中很好解释的那样)Fluent Validation 的级联模型仅适用于规则级别,而不适用于验证器级别。
我有这样的任务:
RuleFor(x => x.Name)
.NotNull()
.Length(1, 128)
.Must(ChkInput);
When(x => x.CompanyName != "..." ,() =>
{
RuleFor(x => x)
...
});
如果第一个 RuleFor 出现错误,我不想验证第二个 RuleFor。基本上是因为我正在验证页面中的输入字段,并且我更喜欢一一显示错误。
我无法将第一个验证规则与第二个合并,因为有不同的概念,由同一页面获得,但不同。
所以我想了解的是: 只有当第一个规则没有失败时,才有办法启动第二个验证规则? 或者,也许我没有正确使用流利的验证,即使我从同一页面检索所有参数,我也必须将它们分开并使用两个(或更多,基于概念的数量)不同的验证器?
【问题讨论】:
标签: c# validation fluentvalidation