init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
47
KretaWeb/Helpers/Error/MVCModelState.cs
Normal file
47
KretaWeb/Helpers/Error/MVCModelState.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue