我試圖驗證三個字段中只有一個具有使用FluentValidation的值。使用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");
這對其他2個日期重複。如預期的那樣,這產生了每個匹配規則的消息。
還有其他的規則,所以有沒有辦法執行其他規則,但在這三個中的第一個失敗?我已經看到了我可以在哪裏設置CascadeMode.StopOnFirstFailure全球範圍內,但我希望這三者之外的其他規則像目前一樣工作。
三者有機結合的規則在單一.Custom(...)規則。 – Maarten 2015-03-31 19:17:58