public static object ObterErroModelState(this ModelStateDictionary modelState) { var chaves = from modelstate in modelState.AsQueryable().Where(f => f.Value.Errors.Count > 0) select modelstate.Key; var listaErros = from modelstate in modelState.AsQueryable().Where(f => f.Value.Errors.Count > 0) select modelstate.Value.Errors.FirstOrDefault(a => !String.IsNullOrEmpty(a.ErrorMessage)); var resultado = new { sucesso = false, chaves = chaves.ToList(), listaErros = listaErros.Where(a => a != null).Select(a => a.ErrorMessage).ToList() }; return(resultado); }
public static object ErrorModelStateToJSON(this ModelStateDictionary modelState) { var keys = from modelstate in modelState.AsQueryable().Where(f => f.Value.Errors.Count > 0) select modelstate.Key; var listErrors = from modelstate in modelState.AsQueryable().Where(f => f.Value.Errors.Count > 0) select modelstate.Value.Errors.FirstOrDefault(a => !String.IsNullOrEmpty(a.ErrorMessage)); var result = new { success = false, keys = keys.ToList(), listErrors = listErrors.Where(a => a != null).Select(a => a.ErrorMessage).ToList() }; return(result); }
/// <summary> /// Cria um retorno Json de Erro (Result = false) com mensagem de erro, com base nos erros do modelState /// </summary> /// <param name="mensagensErro">Resultado de mensagens de erro que deve ser apresentada ao usuário.</param> /// <returns></returns> internal JsonResult JsonResultErro(ModelStateDictionary modelState) { IQueryable <string> chaves = from modelstate in modelState.AsQueryable().Where(f => f.Value.Errors.Count > 0) select modelstate.Key; IQueryable <ModelError> mensagens = from modelstate in modelState.AsQueryable().Where(f => f.Value.Errors.Count > 0) select modelstate.Value.Errors.FirstOrDefault(a => !string.IsNullOrEmpty(a.ErrorMessage)); return (Json( new { HasErro = true, Chaves = chaves, Erros = mensagens.Where(a => a != null).Select(a => a.ErrorMessage).ToList() })); }
public static ModelStateDictionary ModelStateReturnError(ModelStateDictionary modelState) { var errors = from modelstate in modelState.AsQueryable().Where(f => f.Value.Errors.Count > 0) select new { Title = modelstate.Key, Erro = modelstate.Value.Errors[0].ErrorMessage }; foreach (var erro in errors) { modelState.AddModelError(erro.Title, erro.Erro); } return(modelState); }