init
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user