gpt4 book ai didi

.net - 如何使用流利验证来验证包含更多相同类型对象的对象?

转载 作者:行者123 更新时间:2023-12-04 17:03:57 24 4
gpt4 key购买 nike

我有一个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 Validation以这种方式验证子对象。

最佳答案

将验证相同类型的规则更改为:

Rulefor(x => x.SubActions).SetCollectionValidator(this);

关于.net - 如何使用流利验证来验证包含更多相同类型对象的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7101059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com