cambios en front validaciones

This commit is contained in:
2025-05-06 15:27:08 -06:00
parent 46331ae284
commit db91190c8b
2 changed files with 76 additions and 1 deletions

View File

@@ -63,11 +63,35 @@ function enviar() {
$telefono = $_POST['phone'] ?? '';
$archivo = $_FILES['opinion_file'];
// Validar RFC
if (!preg_match('/^[A-ZÑ&]{3,4}\d{6}[A-Z0-9]{3}$/i', $_POST['rfc'] ?? '')) {
die("RFC inválido. Debe seguir el formato oficial.");
}
// Validar el Email (minúsculas + dominio @empresa.com)
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
die("No es una dirección de correo válida.");
}
if (!preg_match('/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/', $email)) {
die("No es una dirección de correo.");
}
// Validar el Teléfono: debe tener formato 3 dígitos + espacio + 7 dígitos
if (!preg_match('/^\d{3}\s\d{7}$/', $telefono)) {
die("El teléfono debe tener el formato 3 dígitos, espacio, 7 dígitos (ej. 123 4567890).");
}
// También podemos validar que tenga exactamente 10 dígitos sin espacios
$soloDigitos = str_replace(' ', '', $telefono);
if (!ctype_digit($soloDigitos) || strlen($soloDigitos) !== 10) {
die("El teléfono debe contener exactamente 10 dígitos numéricos.");
}
// Validar archivo
if ($archivo['error'] !== 0 || pathinfo($archivo['name'], PATHINFO_EXTENSION) !== 'pdf') {
die("Archivo inválido. Solo se permiten PDFs.");
}
// Guardar archivo
$nombreArchivo = uniqid() . '_' . basename($archivo['name']);