如何解决Fluent Validation - 根据查询结果显示多条错误信息
我正在尝试为多个字符串属性编写验证规则,以检查它们是否唯一。
所以我做了验证器来检查它。
_service
方法返回错误代码列表,与不唯一的属性相对应。
现在如何根据返回的结果码获得或多个的响应消息?
RuleFor(x => x.User)
.MustAsync(async (q,context,token) =>
{
var errors = await _service.CheckUserNameEmailExistsAsync(q.User.UserName,q.User.Email,token);
return !errors.Any();
}).WithMessage(...);
解决方法
你可以这样: 创建您类型的局部变量,并将结果放在那里。并在“WithMessage”中引用它并显示您需要的消息。
示例:
SomeType errors;
RuleFor(x => x.User)
.MustAsync(async (q,context,token) =>
{
errors = await _service.CheckUserNameEmailExistsAsync(q.User.UserName,q.User.Email,token);
return !errors.Any();
}).WithMessage((_) =>
{
if (errors....)
return "some message";
else if (errors...)
return "other some message";
else
return "another some message";
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。