我正在尝试使用FluentValidation验证仅有其中一个字段具有值。
RuleFor(x => x.Date1)
.Must(x => !x.HasValue)
.When(x => x.Date2.HasValue || x.Date3.HasValue)
.WithMessage("Select only one of Date 1, Date 2 and Date 3");
这个过程对另外两个日期也是重复的。正如所预期的那样,这会为每个匹配规则生成一条消息。
还涉及其他规则,是否有一种方法可以执行其他规则,但在这三个规则中的第一个失败?我看到可以全局设置 CascadeMode.StopOnFirstFailure ,但我希望这三个规则之外的其他规则像当前一样工作。