Foros del Web » Programando para Internet » PHP »

Validacion multiple

Estas en el tema de Validacion multiple en el foro de PHP en Foros del Web. Hola quetal tengo una pregunta es que estoy algo cansado de estar validando datos de una manera tan larga algo como esto if(empty($_POST['cedula']) || empty($_POST['nombre']) ...
  #1 (permalink)  
Antiguo 09/12/2008, 21:50
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Validacion multiple

Hola quetal tengo una pregunta es que estoy algo cansado de estar validando datos de una manera tan larga algo como esto

if(empty($_POST['cedula']) || empty($_POST['nombre']) entre otros tipos de validaciones es facil pero se vuelve complejo cuando es con tantos formularios alguien tienes una mejor idea sobre el tema?

Salu2
  #2 (permalink)  
Antiguo 09/12/2008, 21:56
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Validacion multiple

Puedes hacer una funcion que haga el trabajo por ti, algo como:

Código PHP:
function validarDatos($array) {
  foreach(
$array as $key => $value) {
    if(!isset(
$key) || empty($value)) return false;
  }
  return 
true;
}

//Y la llamas de la siguiente manera:

if(validarDatos($_POST))
  
//accion a realizar
else
  
//hay algun campo vacio 
Pero esa funcion que te puse de ejemplo comprueba que TODOS los datos esten llenos, si quieres puedes editarla para que le pongas los campos que quieres que ignore.
  #3 (permalink)  
Antiguo 09/12/2008, 21:57
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Validacion multiple

oaks muchas gracias por el dato exelente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:00.