ApplicationValidator.cs 529 B

1234567891011121314
  1. using FluentValidation;
  2. namespace WebApp.Models.Validators;
  3. public class ApplicationValidator<TModel> : AbstractValidator<TModel>
  4. {
  5. public Func<object, string, Task<IEnumerable<string>>> ValidateRequestAsync => async (model, propertyName) =>
  6. {
  7. var result = await ValidateAsync(ValidationContext<TModel>
  8. .CreateWithOptions((TModel)model, x => x.IncludeProperties(propertyName)));
  9. return result.IsValid is true ? Array.Empty<string>() : result.Errors.Select(e => e.ErrorMessage);
  10. };
  11. }