public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { if (!context.ModelState.IsValid) { var errors = context.ModelState.Where(x => x.Value.Errors.Count > 0) .ToDictionary(key => key.Key, value => value.Value.Errors.Select(er => er.ErrorMessage)).ToArray(); var errorResponse = new ErrorReponse(); foreach (var error in errors) { foreach (var subError in error.Value) { var errorModel = new ErrorModel() { FieldName = error.Key, Message = subError }; errorResponse.Errors.Add(errorModel); } } context.Result = new BadRequestObjectResult(errorResponse); return; } await next(); }
public Response BuildErrorJson(string errorMessage, HttpStatusCode sCode) { var error = new ErrorReponse(); error.status = (int)sCode; error.message = errorMessage; error.requesttime = DateTime.Now; var response = (Response)JsonConvert.SerializeObject(error); response.StatusCode = sCode; response.ContentType = "application/json"; return(response); }