public static ActionResult ReturnJsonModelState(ModelStateDictionary modelState) { var genericErrors = new List <String>(); var fieldErrors = new Dictionary <String, String>(); foreach (var fieldState in modelState.Where(f => f.Value.Errors.Any())) { var fieldName = fieldState.Key; var errors = fieldState.Value.Errors; if (!String.IsNullOrEmpty(fieldName)) { foreach (var e in errors.ToList()) { if (fieldErrors.ContainsKey(fieldName)) { fieldErrors[fieldName] = fieldErrors[fieldName] + ". " + e.ErrorMessage; } else { fieldErrors.Add(fieldName, e.ErrorMessage); } } } else { errors.ToList().ForEach(e => genericErrors.Add(e.ErrorMessage)); } } var jsonResult = new CustomJsonResult() { Data = new { validationFail = true, fieldErrors = fieldErrors, genericErrors = genericErrors, }, JsonRequestBehavior = JsonRequestBehavior.AllowGet, }; return(jsonResult); }
public virtual async Task <ActionResult> Build() { var result = await mediator.RequestAsync(query); Object resultingModel = result; if (destinationType != null) { resultingModel = mapper.Map(result, typeof(TResult), destinationType); } if (doJson) { var jsonResult = new CustomJsonResult() { Data = resultingModel, MaxJsonLength = Int32.MaxValue, }; if (jsonAllowGet) { jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet; } return(jsonResult); } viewData.Model = resultingModel; return(new ViewResult { ViewName = null, MasterName = null, ViewData = viewData, TempData = tempData, ViewEngineCollection = viewEngineCollection }); }