This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,47 @@
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
namespace Kreta.Web.Helpers.Error
{
public static class ModelStateExtensions
{
public class MvcModelState
{
public MvcModelState()
{
MVCModelState = new List<Error>();
}
public List<Error> MVCModelState { get; set; }
}
public class Error
{
public Error(string key, string message)
{
Key = key;
Message = message;
}
public string Key { get; set; }
public string Message { get; set; }
}
public static MvcModelState AllErrors(this ModelStateDictionary modelState)
{
var result = new MvcModelState();
var erroneousFields = modelState.Where(ms => ms.Value.Errors.Any())
.Select(x => new { x.Key, x.Value.Errors });
foreach (var erroneousField in erroneousFields)
{
var fieldKey = erroneousField.Key;
var fieldErrors = erroneousField.Errors
.Select(error => new Error(fieldKey, error.ErrorMessage));
result.MVCModelState.AddRange(fieldErrors);
}
return result;
}
}
}