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_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 +
`<ul class="mb-0">
${this.errores.map(err => `<li>${err}</li>`).join('')}
</ul>`;
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 +
`<ul class="mb-0">` +
`<li>${error}</li>` +
`</ul>`;
`<ul class="mb-0">
${this.errores.map(err => `<li>${err}</li>`).join('')}
</ul>`;
popErrorAlert(message, 'sk-alert', false);
return false;
}
else {
$('#sk-alert').html() +=
`<ul class="mb-0">` +
`<li>${error}</li>` +
`</ul>`;
else{
skAlert.innerHTML = '';
}
}
}