【发布时间】:2021-06-22 01:13:31
【问题描述】:
我的对象中有一个嵌套集合属性。我需要让它在收集项目的第一次失败时停止。我的意思是错误消息不应该针对每个失败项目重复。级联不适用于这种情况。谢谢:)
我的对象:
public class Customer{
public string CustomerName{get;set;}
public List<Order> Orders {get;set;}
}
public class Order{
public string OrderNumber{get;set;}
public int Amount{get;set;}
}
示例请求:
{
CustomerName="test",
Orders:[
{
"OrderNumber":null,
"Amount":0
},
{
"OrderNumber":"",
"Amount":null
},
{
"OrderNumber":"12345",
"Amount":0
}
]
}
我对嵌套对象使用流畅的验证,如下所示。但是当它运行时,错误消息是重复的。它应该在第一个项目失败时停止。
代码:
this.RuleForEach(x => x.Orders).Cascade(CascadeMode = CascadeMode.Stop).SetValidator(new ShipmentListRequestItemValidator()));
错误输出(实际):
"OrderNumber is null!", "OrderNumber is empty!", "Amount should be greater than 0"
错误输出(应该是):
"OrderNumber is null!"
【问题讨论】:
标签: .net-core fluentvalidation