Как я могу создать настраиваемый фильтр действий, который будет проверять, является ли ModelState действительным, а если нет, возвращает ошибки ModelState в то же представление?
Я хочу написать пользовательский фильтр действий, который перед всеми запросами POST должен убедиться, что ModelState действителен, а если ModelState недействителен, он вернет ошибки ModelState в то же представление.
Это мой пример кода. Но я действительно не знаю, как вернуть ошибки ModelState в то же представление.
namespace Site.Web.Infrastructures.CustomValidationAttribute
{
public class GlobalMvcValidateModelStateAttribute : ActionFilterAttribute
{
public override Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
if (!context.ModelState.IsValid)
{
List<string> list = (from modelState in context.ModelState.Values from error in modelState.Errors select error.ErrorMessage).ToList();
//Also add exceptions.
list.AddRange(from modelState in context.ModelState.Values from error in modelState.Errors select error.Exception.ToString());
context.Result = new BadRequestObjectResult(list);
}
return base.OnActionExecutionAsync(context, next);
}
}
}