这不应该是一个难以回答的问题,但我不能为我的生活弄清楚为什么会抛出这个错误。
我有一个验证结果,我试图在条件被命中时添加失败。
ValidationResult result = new ValidationResult();
//Do not call if nothing is in list.
if (List.Count == 0)
{
ValidationFailure failure = new ValidationFailure("Nothing","Must pick something"){CustomState = ValidationLevel.Critical};
return view.policyResult.Errors.Add(failure);
}
return manager.Validate();
如果出现问题,请告诉我! 如果列表大于0,我添加了return语句。它只是转到管理器,验证并返回验证结果。
答案 0 :(得分:1)
Add
不返回任何内容,它是void
方法。您需要调用add然后返回...无论您想要返回什么(可能是您之前创建的failure
对象?)。
即
view.policyResult.Errors.Add(failure);
return failure;
答案 1 :(得分:0)
该行
view.policyResult.Errors.Add(failure);
调用方法Add没有返回值(void),而调用此行的方法需要返回类型为FluentValidation.Results.ValidationResult
的对象的实例
如果类ValidationFailure派生自ValidationResult,那么您可以尝试返回
return failure ;
但是,您的方法可能不会进入if条件(List.Count> 0),我们不知道接下来会发生什么。
再次,只是一个猜测,但你想返回在if
result
ValidationResult
实例
答案 2 :(得分:0)
Add
是C#中的void
方法。要返回所需的自定义失败消息,您需要调用return
和您创建的失败对象。
史蒂夫指出,你是否有可能没有输入if语句但是尝试添加
return failure;