【发布时间】:2015-08-27 10:58:34
【问题描述】:
我在 ASP.NET MVC 应用程序中使用流利的验证,但遇到了问题。 这是我的规则:
RuleFor(x => x.SimpleList)
.SetCollectionValidator(new SimpleListValidator())
.When(x => x.Type == SimpleEnum.SpecificType);
我想将 x.Type 参数传递给 SimpleListValidator,我该怎么做?某种扩展方法?它应该看起来像:
RuleFor(x => x.SimpleList)
.SetCollectionValidator(new SimpleListValidator(x => x.Type))
.When(x => x.Type == SimpleEnum.SpecificType);
【问题讨论】:
-
嗨,什么是 SimpleListValidator?问题中缺少什么?
-
我觉得没关系。这是我想在我的列表中应用的某种验证器,但是这个“SimpleListValidator”在构造函数中需要一个参数,就是这种情况。现在我无法传递 lambda 表达式“x => x.Type”,而且我不知道如何构建像 SetCollectionValidator 这样的适当扩展方法。
-
如果我理解正确,SimpleListValidator CTOR 得到 1 个参数:类型,如果是:考虑使用 typeof(X): new SimpleListValidator(typeof(x))。它会起作用吗?
-
但是 x.Type 不是对象类型,这是类中的一个字段(枚举),它可以是任何其他字段等 x.Name, x.Age..
-
你能粘贴 SimpleListValidator CTOR..
标签: c# asp.net-mvc validation fluentvalidation