5
我有一個Action類,它擁有更多Action對象的集合。事情是這樣的:如何使用流利驗證來驗證包含更多相同類型對象的對象?
public class Action
{
ICollection<Action> SubActions;
}
這基本上形成了一個樹狀結構(我要確保有沒有循環)。我使用Fluent Validation爲該課程編寫驗證程序。這是我的驗證器嘗試:
public class ActionValidator : AbstractValidator<Action>
{
public ActionValidator()
{
RuleFor(x => x.SubActions).SetCollectionValidator(new ActionValidator());
}
}
當我試圖解決任何依賴於ActionValidator的問題時,Unity會爆炸。更具體地說,當LINQPad嘗試解析一個依賴於ActionValidator的服務時,崩潰可能來自堆棧溢出。
我的Action類中還有其他成員正在驗證,但爲了簡潔起見,我只是放了重要的部分。如果我註釋掉我在這裏列出的規則,它會正常工作(除非它不再驗證子動作)。
我的方法出現問題。我遞歸地構造驗證器,直到有些事情死亡。但我只是不確定如何告訴Fluent驗證以這種方式驗證子對象。
這花了我很長一段時間來弄清楚。可悲,真的。 – Ross