流利模型验证

时间:2019-05-16 10:13:17

标签: c# .net asp.net-web-api2 fluentvalidation

我有一个带有项目列表的模型,并且我有一个Property OrderQty的规则,它必须是一个数字(即0-9)。如果规则失败,则应从对象列表中返回带有ItemNo的消息。

RuleFor(m => new { m.OrderQty, m.ItemNumber }).Must(x => validateint(x.OrderQty, x.ItemNumber)).WithMessage(string.Format(Item {0} Must be an integer",x.ItemNumber));

我的物品类就像

public class Item
{
    public string ItemNumber { get; set; }
    public string Description { get; set; }
    public string OrderQty{ get; set; }
    public string Status { get; set; }
}

我希望输出应为ErrorMessage,因为“ Item'Itemnumberhere'必须为整数”

1 个答案:

答案 0 :(得分:0)

RuleFor(m => new { m.OrderQty, m.ItemNumber }).Must(x => validateint(x.OrderQty, x.ItemNumber)).WithMessage(x => $"Item {x.ItemNumber} Must be an integer"))

RuleFor(m => new { m.OrderQty, m.ItemNumber }).Must(x => validateint(x.OrderQty, x.ItemNumber)).WithMessage(x => string.Format("Item {0} Must be an integer",x.ItemNumber))

 RuleFor(m => m).NotEmpty().WithMessage(x => { return string.Format("Item {0} Must be an integer", x.ReportName); });

您应该获得所需的格式。

使用string.format和$使用相同的功能。使用$方法使代码更具可读性。只是一个提示