public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { if (!context.ActionDescriptor.IsControllerAction()) { await next(); return; } var errors = validator.Value.Validate(context.GetMethodInfo(), context.GetParameterValues()) ?? new List <ValidationError>(); AddModelStateErrors(context, errors); if (errors.Any()) { throw new ValidationException(errors); } else { await next(); } }