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);
        }
Ejemplo n.º 2
0
        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();
        }