示例#1
0
        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();
        }
示例#2
0
文件: Response.cs 项目: woohn/Pisces
        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);
        }