希望针对数组本身以及数组中的项运行验证。我们无法将数组包装在另一个类中。问题是我似乎无法通过验证数组本身的项目来进行验证。
public class MyItemArrayValidator : AbstractValidator<MyItem[]>
{
RuleFor(list => list)
.Must(list => list.Length <= 25)
.WithMessage("Too many items in array"));
//Line that does not work below
RuleFor(list => list).SetCollectionValidator(new MyItemValidator());
}
public class MyItemValidator : AbstractValidator<MyItem>
{
... validate MyItem stuff
}
更新
调用行时返回错误...
RuleFor(list => list).SetCollectionValidator(new MyItemValidator());
是“嵌套验证器只能与成员表达式一起使用”。
我理解错误是因为我正在处理对象而不是成员,所以这种方法可能不正确。
答案 0 :(得分:1)
我在文档中使用
RuleForEach
SetValidator
$File = ((Get-Content -Encoding UTF8 -path Test.json -Raw)
$File = $File| ConvertFrom-Json
$File.address = $File.address | Select-Object * -ExcludeProperty streets #This line changes it to an object instead of an array