terminado datosGenerales para la validacion

This commit is contained in:
2025-06-26 08:58:13 +02:00
parent 2d267386a6
commit 03b43de185

View File

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