diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js index 17b2e151..d41c9d91 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js @@ -110,6 +110,9 @@ class DatosGenerales { this.removeError(window.translations["validation"].tirada_integer_greatherThan_0); this.removeError(window.translations["validation"].tirada_pod_nopod); } + else{ + this.addErrors(); + } let tiradas = self.getTiradas(); if (!Array.isArray(tiradas)) { tiradas = [tiradas]; @@ -130,7 +133,7 @@ class DatosGenerales { this.removeError(window.translations["validation"].titulo_requerido); } else { - this.addError(window.translations["validation"].titulo_requerido); + this.addErrors(); } }); @@ -138,6 +141,9 @@ class DatosGenerales { if (this.validateCliente()) { this.removeError(window.translations["validation"].cliente); } + else{ + this.addErrors(); + } }); this.retractilado.on('change', this.#eventRetractilado.bind(this)); @@ -162,36 +168,29 @@ class DatosGenerales { this.validateFormatoLibro(); // Paginas - if (this.paginasColor.val() == '' || isNaN(this.paginasColor.val()) || parseInt(this.paginasColor.val()) < 0) { - this.errores.push(window.translations["validation"].paginasColor); - this.paginasColor.addClass('is-invalid'); - } - else if (parseInt(this.paginasColor.val()) % 2 != 0) { - this.errores.push(window.translations["validation"].paginas_pares); - this.paginasColor.addClass('is-invalid'); - } - else { - this.paginasColor.removeClass('is-invalid'); - } - if (this.paginasNegro.val() == '' || isNaN(this.paginasNegro.val()) || parseInt(this.paginasNegro.val()) < 0) { - this.errores.push(window.translations["validation"].paginasNegro); - this.paginasNegro.addClass('is-invalid'); - } - else if (parseInt(this.paginasNegro.val()) % 2 != 0) { - this.errores.push(window.translations["validation"].paginas_pares); - this.paginasNegro.addClass('is-invalid'); - } - else { - this.paginasNegro.removeClass('is-invalid'); - } - if (this.paginas.val() == '' || isNaN(this.paginas.val()) || parseInt(this.paginas.val()) <= 0) { - this.errores.push(window.translations["validation"].paginas); - this.paginas.addClass('is-invalid'); - } else { - this.paginas.removeClass('is-invalid'); - } + this.validatePaginas(); // Tipo de libro + this.validateTipoLibro(); + + this.addErrors(); + + if (this.errores.length > 0) { + + return false; + } + else { + if (goToNext) + this.validatorStepper.next(); + else + return true; + } + } + + validateTipoLibro() { + + let noError = true; + if ($('.tipo-libro.selected').length > 0) { if ($('#cosido').hasClass('selected') || $('#grapado').hasClass('selected')) { const value = parseInt($("#paginas").val()); @@ -199,6 +198,7 @@ class DatosGenerales { if (parseInt(this.paginas.val()) % 4 != 0) { this.errores.push(window.translations["validation"].paginas_multiplo_4); this.paginas.addClass('is-invalid'); + noError = false; } else { this.paginas.removeClass('is-invalid'); } @@ -208,28 +208,49 @@ class DatosGenerales { } else { this.errores.push(window.translations["validation"].tipo_libro); this.domItem.find('#divTipoLibro').addClass('is-invalid'); + noError = false; } + } - const skAlert = document.getElementById('sk-alert'); - skAlert.innerHTML = ''; - this.errores = [...new Set(this.errores)]; + validatePaginas() { - if (this.errores.length > 0) { - const message = window.translations["validation"].fix_errors + - ``; - popErrorAlert(message, 'sk-alert', false); - return false; + let noError = true; + + if (this.paginasColor.val() == '' || isNaN(this.paginasColor.val()) || parseInt(this.paginasColor.val()) < 0) { + this.errores.push(window.translations["validation"].paginasColor); + this.paginasColor.addClass('is-invalid'); + noError = false; + } + else if (parseInt(this.paginasColor.val()) % 2 != 0) { + this.errores.push(window.translations["validation"].paginas_pares); + this.paginasColor.addClass('is-invalid'); + noError = false; } else { - document.getElementById('sk-alert').innerHTML = ''; - this.errores = []; - if (goToNext) - this.validatorStepper.next(); - else - return true; + this.paginasColor.removeClass('is-invalid'); } + if (this.paginasNegro.val() == '' || isNaN(this.paginasNegro.val()) || parseInt(this.paginasNegro.val()) < 0) { + this.errores.push(window.translations["validation"].paginasNegro); + this.paginasNegro.addClass('is-invalid'); + noError = false; + } + else if (parseInt(this.paginasNegro.val()) % 2 != 0) { + this.errores.push(window.translations["validation"].paginas_pares); + this.paginasNegro.addClass('is-invalid'); + noError = false; + } + else { + this.paginasNegro.removeClass('is-invalid'); + } + if (this.paginas.val() == '' || isNaN(this.paginas.val()) || parseInt(this.paginas.val()) <= 0) { + this.errores.push(window.translations["validation"].paginas); + this.paginas.addClass('is-invalid'); + noError = false; + } else { + this.paginas.removeClass('is-invalid'); + } + + return noError; } validateFormatoLibro() { @@ -637,6 +658,9 @@ class DatosGenerales { this.removeError(window.translations["validation"].papelFormatoAncho); this.removeError(window.translations["validation"].papelFormatoAlto); } + else{ + this.addErrors(); + } } #eventRetractilado(event) { @@ -655,6 +679,7 @@ class DatosGenerales { #handleTipolibro(event) { + // Accede al ID del elemento que disparó el evento const element = $(event.target); @@ -705,7 +730,13 @@ class DatosGenerales { } } - this.validate(false); + if(this.validateTipoLibro()) { + this.removeError(window.translations["validation"].tipo_libro); + this.removeError(window.translations["validation"].paginas_multiplo_4); + } + else{ + this.addErrors(); + } // Para recalcular el presupuesto $('#paginas').trigger('change'); @@ -798,6 +829,15 @@ class DatosGenerales { } $('.calcular-lomo').trigger('change'); + if(this.validatePaginas()) { + this.removeError(window.translations["validation"].paginas); + this.removeError(window.translations["validation"].paginasColor); + this.removeError(window.translations["validation"].paginasNegro); + this.removeError(window.translations["validation"].paginas_pares); + } + else{ + this.addErrors(); + } } @@ -902,21 +942,21 @@ class DatosGenerales { } } - addError(error) { + addErrors() { - if ($('#sk-alert').html() == '') { + const skAlert = document.getElementById('sk-alert'); + skAlert.innerHTML = ''; + this.errores = [...new Set(this.errores)]; + + if (this.errores.length > 0) { const message = window.translations["validation"].fix_errors + - ``; + ``; popErrorAlert(message, 'sk-alert', false); - return false; } - else { - $('#sk-alert').html() += - ``; + else{ + skAlert.innerHTML = ''; } } }