【发布时间】:2017-08-10 21:28:32
【问题描述】:
我有一个模型类:
public class MyModel() { //properties here... }
我想验证MyModel 对象的列表。所以我创建了这个验证器:
class MyModelListValidator : AbstractValidator<List<MyModel>>
{
public MyModelListValidator ()
{
RuleFor(x => x)
.SetCollectionValidator(new MyModelValidator())
.When(x => x != null);
}
private class MyModelValidator : AbstractValidator<MyModel>
{
public MyModelValidator()
{
//MyModel property validation here...
}
}
}
但以上不起作用。另一种方法是创建一个类:
public class MyModelList()
{
public List<MyModel> Items { get; set; }
}
这会奏效。
但是有没有办法在不使用这个附加类的情况下做到这一点?
【问题讨论】:
-
如果你的action得到
List<MyModel>作为参数,你可以定义AbstractValidator<MyModel>,fluentvalidation会自动将它应用到列表中的每一项。
标签: c# fluentvalidation