2012-10-25 50 views
2

我想實現的內容可以大致概括爲一個簡單的OR條件。使用FluentValidation.NET進行條件規則評估

雖然支持Fluent驗證的其他屬性(當/除非)的條件屬性驗證支持,但似乎沒有辦法在同一屬性上支持條件規則?或者我錯過了什麼?

基本上我想要實現:

RuleFor(x => x.Property).CanEitherValidateThisRule().Or.CanValidateThisRule(); 

這個唯一的選擇是對的規則在一個自定義規則結合起來?
但是,這嚴格地結合了規則邏輯,而且他們是完全獨立的條件,我可能希望在其他對象/字段上使用它們。

有人建議在FluentValidation.NET的未來版本中支持這個,有沒有人知道用擴展方法實現這一點的方法,或者是否有我錯過的語法?

編輯:發現討論:Fluent Validation for .NET - View Discussion

回答

0

您可以嘗試Chaining Validators for the Same Property 雖然它的一個骯髒的方式去做你想做的,它還是值得,如果你正在做的驗證的代碼的一小部分。

如果你想要一個更清潔的方式,那麼到目前爲止,我認爲創建一個custom validator class是最方便的選擇。

我已經鏈接到的維基頁面提供了所有必要的工具。

+0

感謝您的答案 - 鏈接驗證器正是我想要實現的,但是使用OR條件而不是rule()。[和] rule() – M05Pr1mty