ModelStateDictionaryExtensions.cs 616 B

123456789101112131415161718
  1. using Microsoft.AspNetCore.Mvc.ModelBinding;
  2. namespace SharedKernel.Extensions
  3. {
  4. public static class ModelStateDictionaryExtensions
  5. {
  6. public static string GetErrorMessages(this ModelStateDictionary modelState, string separator = "\n")
  7. {
  8. var errors = modelState
  9. .Where(kvp => kvp.Value?.Errors.Count > 0)
  10. .SelectMany(kvp => kvp.Value!.Errors)
  11. .Select(e => string.IsNullOrWhiteSpace(e.ErrorMessage) ? "Invalid value." : e.ErrorMessage)
  12. .ToArray();
  13. return string.Join(separator, errors);
  14. }
  15. }
  16. }