public override void OnActionExecuting(ActionExecutingContext context) { if (context.ModelState.IsValid) { return; } string[] validationErrors = context.ModelState.Keys.SelectMany(k => context.ModelState[k].Errors) .Select(e => e.ErrorMessage).ToArray(); HttpError error = HttpError.CreateHttpValidationError( HttpStatusCode.BadRequest, new[] { "There are validation errors" }, validationErrors); context.Result = new BadRequestObjectResult(error); }
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { if (!context.ModelState.IsValid) { var validationErrors = context.ModelState .Keys .SelectMany(k => context.ModelState[k].Errors) .Select(e => e.ErrorMessage) .ToArray(); var error = HttpError.CreateHttpValidationError( statusCode: HttpStatusCode.BadRequest, userMessage: new[] { "There are validation errors" }, validationErrors: validationErrors ); context.Result = new BadRequestObjectResult(error); return; } await next(); }