我正在尝试显示来自 DB 的错误消息,所以这是我到目前为止得到的:
When(c => c.Type.Equals("new"), async () =>
{
var errors = await _repository.ErrorsRepository.Get();
RuleFor(c => c.AnotherProperty)
.NotNull()
.WithMessage("Must select Yes or No for '" +
$"{errors.FirstOrDefault(l => l.id.Equals("anotherProperty"))?.error}'");
RuleFor(c => c.AnotherProperty2)
.NotNull()
.WithMessage("Must select Yes or No for '" +
$"{errors.FirstOrDefault(l => l.id.Equals("anotherProperty2"))?.error}'");
RuleFor(c => c.AnotherProperty3)
.NotNull()
.WithMessage("Must select Yes or No for '" +
$"{errors.FirstOrDefault(l => l.id.Equals("anotherProperty3"))?.error}'");
});
当我运行 validateAsnc() 时,我收到以下错误:
异步模块或处理程序已完成,而异步操作仍处于挂起状态。
我假设是由于异步操作。
编辑运行验证:
...
var validator = new objValidator();
var validationTask = validator.ValidateAsync(obj);
ModelState.Clear();
var result = await validationTask;
result.AddToModelState(ModelState, null);
if (ModelState.IsValid)
...