PageSourceSearch

https://saelicenciatura.eld.edu.mx/resources/scripts/gestionar-mensajes-ajax/gestionar-errores.js

js eld.edu.mx collected 2026-10-02 05:50:30 UTC 4,807 bytes, 159 lines download raw bytes

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.