1function gestionarErrores(error, paramName, formId) { 2 var valido; 3 limpiarErrores(formId); 4 if (error.keys.length == 0) { 5 valido = true; 6 } else { 7 valido = false; 8 var keys = error.keys; 9 for (var i = 0; i < keys.length; i++) { 10 var name = paramName + keys[i]; 11 var input = $("input[name='" + name + "']"); 12 if (input.length > 0) { 13 input.addClass("field-error"); 14 mostrarErrores(error.listErrores, input, keys[i]); 15 } else { 16 var select = $("select[name='" + name + "']"); 17 if (select.length > 0) { 18 select.addClass("field-error"); 19 mostrarErrores(error.listErrores, select, keys[i]); 20 21 } 22 } 23 } 24 } 25 return valido; 26} 27 28/** 29 * Recibe el JSON de un objeto de la clase AjaxResult.java. De el obtiene campos 30 * a los que se le asignara un error y llama a la funcion 31 * mostrarFieldErrorsAjaxResult para concatenar la lista de errores. Cada 32 * mensaje es un objeto que tiene los siguientes atributos: <br> 33 * <ul> 34 * <li>enumTipoMensaje: Determina si es un fielError, actionError o 35 * actionMessage</li> 36 * <li>nombre: es el atributo name que tiene un input en el formulario</li> 37 * <li>mensajes: son todos los mensajes asociados a un campo</li> 38 * </ul> 39 * 40 * @param ajaxResult 41 * @param formId 42 * @returns 43 */ 44function gestionarErroresAjaxResult(ajaxResult, formId) { 45 var isValido = true; 46 limpiarErrores(formId); 47 var listMensajes = ajaxResult.listMessages; 48 listMensajes.forEach(function(mensaje) { 49 if (mensaje.enumTipoMensaje === "FIELD_ERROR") { 50 var input = $("#" + formId + " input[name='" + mensaje.nombre + "']"); 51 if (input.length > 0) { 52 input.addClass("field-error"); 53 mostrarFieldErrorsAjaxResult(mensaje, input); 54 } else { 55 var select = $("select[name='" + mensaje.nombre + "']"); 56 if (select.length > 0) { 57 select.addClass("field-error"); 58 } 59 mostrarFieldErrorsAjaxResult(mensaje, select); 60 } 61 isValido = false; 62 } else if (mensaje.enumTipoMensaje === "ACTION_ERROR") { 63 mostrarActionErrorsAjaxResult(mensaje); 64 isValido = false; 65 } else if (mensaje.enumTipoMensaje === "ACTION_MESSAGE") { 66 mostrarActionMessagesAjaxResult(mensaje); 67 } 68 }); 69 return isValido; 70} 71 72/** 73 * Obtiene la lista de mensajes FIELD ERROR y se los asigna al campo 74 * correspondiente. 75 * 76 * @param ajaxResult 77 * @param formId 78 * @returns 79 */ 80function mostrarFieldErrorsAjaxResult(mensaje, input) { 81 var divErrorMessageContainer = $("<div></div>"); 82 var errores = mensaje.mensajes; 83 errores.forEach(function(fieldError) { 84 var message = $("<p></p>"); 85 message.text(fieldError); 86 divErrorMessageContainer.append(message); 87 }); 88 divErrorMessageContainer.addClass("alert alert-danger error"); 89 input.after(divErrorMessageContainer); 90} 91 92/** 93 * Obtiene la lista de mensajes ACTION ERRORS y los muestra en su correspondiente div 94 * 95 * @param ajaxResult 96 * @param formId 97 * @returns 98 */ 99function mostrarActionErrorsAjaxResult(mensaje) { 100 var divErrorMessageContainer = $("#divActionErrors"); 101 var errores = mensaje.mensajes; 102 errores.forEach(function(actionError) { 103 var message = $("<p></p>"); 104 message.text(actionError); 105 divErrorMessageContainer.append(message); 106 }); 107 divErrorMessageContainer.removeClass("hide"); 108} 109 110/** 111 * Obtiene la lista de mensajes ACTION MESSAGES y los muestra en su correspondiente div 112 * 113 * @param ajaxResult 114 * @param formId 115 * @returns 116 */ 117function mostrarActionMessagesAjaxResult(mensaje) { 118 var divActionMessageContainer = $("#divActionMessages"); 119 var actionMessages = mensaje.mensajes; 120 actionMessages.forEach(function(actionMessage) { 121 var message = $("<p></p>"); 122 message.text(actionMessage); 123 divActionMessageContainer.append(message); 124 }); 125 divActionMessageContainer.removeClass("hide"); 126} 127 128function mostrarErrores(listErrores, element, name) { 129 var divErrorMessageContainer = $("<div></div>"); 130 var errores = listErrores[name]; 131 for (var i = 0; i < errores.length; i++) { 132 var message = $("<p></p>"); 133 message.text(errores[i]); 134 divErrorMessageContainer.append(message); 135 } 136 divErrorMessageContainer.addClass("alert alert-danger error"); 137 element.after(divErrorMessageContainer); 138} 139 140function limpiarErrores(formId) { 141 $("#divActionMessages").addClass("hide").empty(); 142 $("#divActionErrors").addClass("hide").empty(); 143 144 var frm = $("#" + formId); 145 if (frm.length > 0) { 146 frm.find(".alert.alert-danger.error").remove(); 147 frm.find(".field-error").removeClass("field-error"); 148 } 149 var globalErrors = $("#divGlobalErrors"); 150 if (globalErrors.length > 0) { 151 globalErrors.find(".alert.alert-danger.error").remove(); 152 globalErrors.find(".field-error").removeClass("field-error"); 153 } 154 var categoryErrors = $("#divCategoryErrors"); 155 if (categoryErrors.length > 0) { 156 categoryErrors.find(".alert.alert-danger.error").remove(); 157 categoryErrors.find(".field-error").removeClass("field-error"); 158 } 159}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.