This commit is contained in:
Lizandro Guarnizo
2026-05-27 20:40:17 -05:00
parent b8de9ee666
commit 2f72d87c3b
9 changed files with 208 additions and 9 deletions
+26 -1
View File
@@ -6989,7 +6989,9 @@ const labDomicilio = (() => {
}
function limpiarValidacion() {
['labdom-fecha','labdom-direccion'].forEach(id => $(id).classList.remove('is-invalid'));
['labdom-fecha','labdom-direccion','labdom-pac-nombre','labdom-pac-cedula','labdom-pac-correo'].forEach(id => {
const el = $(id); if (el) el.classList.remove('is-invalid');
});
}
function validar() {
@@ -6997,11 +6999,34 @@ const labDomicilio = (() => {
limpiarValidacion();
if (!fv('labdom-fecha')) { $('labdom-fecha').classList.add('is-invalid'); ok = false; }
if (!fv('labdom-direccion')){ $('labdom-direccion').classList.add('is-invalid'); ok = false; }
// Validar formato de dirección
const dirVal = fv('labdom-direccion') || '';
if (dirVal && dirVal.trim().length < 5) {
$('labdom-direccion').classList.add('is-invalid'); ok = false;
}
const esSeguro = document.getElementById('tc-seguro')?.checked;
if (esSeguro && !fv('labdom-seguro-nombre')) {
$('labdom-seguro-nombre').classList.add('is-invalid');
ok = false;
}
// Validaciones de paciente nuevo
if (_isNewPaciente) {
const nom = fv('labdom-pac-nombre') || '';
if (!nom) { $('labdom-pac-nombre').classList.add('is-invalid'); ok = false; }
else if (!/^[\p{L}\s'\-\.]+$/u.test(nom)) { $('labdom-pac-nombre').classList.add('is-invalid'); ok = false; }
else if (nom.trim().split(/\s+/).length < 2) { $('labdom-pac-nombre').classList.add('is-invalid'); ok = false; }
const ced = fv('labdom-pac-cedula') || '';
if (ced) {
const tipodoc = $('labdom-pac-tipodoc')?.value || 'CC';
if (['CC','TI','RC','CE'].includes(tipodoc)) {
const digits = ced.replace(/[^0-9]/g, '');
if (digits.length < 4 || digits.length > 12) { $('labdom-pac-cedula').classList.add('is-invalid'); ok = false; }
}
}
const cor = fv('labdom-pac-correo') || '';
if (cor && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(cor)) { $('labdom-pac-correo').classList.add('is-invalid'); ok = false; }
}
return ok;
}