FluentValidation:使用其他属性的值自定义错误消息



我有这个:

RuleForEach(inputData => inputData.Loads).ChildRules(inputData => {
inputData.RuleFor(load => load.Asnow).GreaterThanOrEqualTo(0).WithMessage("no negative snow allowed"));
.... etc

现在我想在消息中表达消息是关于loads集合中的哪个负载的。

"load"有一个属性"LoadName",我想在消息中包括它的值,类似

$"{load.LoadName} no negative snow allowed" 

我该怎么做?

使用WithMessage(Func<T, string>)过载:

RuleForEach(inputData => inputData.Loads)
.ChildRules(inputData =>
{
inputData.RuleFor(load => load.Asnow).GreaterThanOrEqualTo(0).WithMessage(load => $"{load.LoadName} no negative snow allowed");
});

最新更新