Foros del Web » Programando para Internet » PHP »

Validación de campos

Estas en el tema de Validación de campos en el foro de PHP en Foros del Web. Hola, a [email protected] Bueno, tengo un formulario con varios campos y deseo que sean validados que no esten vacios.. que contengan información... hasta ahora lo ...
  #1 (permalink)  
Antiguo 03/02/2004, 11:34
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Mensaje Validación de campos

Hola, a [email protected]

Bueno, tengo un formulario con varios campos y deseo que sean validados que no esten vacios.. que contengan información...

hasta ahora lo hago con

if ($campo != "")

y asi con cada uno de ellos...

no existe una mejor forma... sin tener que comparar o poner decisión lógica if a cada uno de ellos...????

un saludo...
  #2 (permalink)  
Antiguo 03/02/2004, 11:42
Avatar de maralbust@netsc  
Fecha de Ingreso: julio-2003
Ubicación: Santiago
Mensajes: 242
Antigüedad: 14 años, 5 meses
Puntos: 0
creo que no, es mas yo lo hago combinando php y javascript :p
me sale igual de complicado y latero.
__________________
"La imaginacion es el limite"
bee-freaks
  #3 (permalink)  
Antiguo 03/02/2004, 11:48
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Tienes dos opciones, lo puedes hacer con PHP o bien con Javascript, yo lo haria con Javascript primero y luego con PHP , con JS seria haciendo:

Código PHP:
if(document.nombreForm.nombreCampo.value == "") {
}
..... 
Y con PHP en vez de usar el:
Código PHP:
if($variable == "") {

Usaria:
Código PHP:
if(empty($variable)) {

Pues eso ... revisa las funciones empty() y isset()

Saludillos!
__________________
Usuario registrado de Linux #288725
  #4 (permalink)  
Antiguo 03/02/2004, 11:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues la comparación lógica te va hacer falta siempre .. esos sí .. puedes "automatizar" ese proceso creando por ejemplo bucles y menejando las variables (nombres) en un array tipo:

Código PHP:
$campos=array ("uno","dos","tres");

foreach (
$campos as $campo){
   if (
empyt($_GET[$campo])){  // GET o POST según el metodo o incluso $_REQUEST ...
      
echo "El campo ".$campo" está vacio.<br>";
   }

En el array $campos indicas los nombres de tus variable de tu formulario .. El bucle foreach() recorre dicho array y valida uno por uno elemento .. Ahí se está usando empty() en lugar de !="" .. y bajo el mismo bucle podrías validar otras cosas como "que sean de tal tipo" .. Los "errores" se presentan ahí mismo . pero podrías usar otro array para acomular los nombres de los campos que tienen error (por si necesitas propagarlos a otros scripts en el URL/sesiones o cookies ..).. etc .. etc .. etc ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 03/02/2004 a las 11:51
  #5 (permalink)  
Antiguo 03/02/2004, 11:53
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Pero igual en todos los casos.. tengo que validar con el nombre del campo...

  #6 (permalink)  
Antiguo 03/02/2004, 12:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Pero igual en todos los casos.. tengo que validar con el nombre del campo...
pero .. piensa un poco .. Un "programa" tiene un flujo y este se controla con estructuras de control como el IF o cualquier otra.

"Validar" no es más que decir "Si tiene tal valor haz esto .. SINO .. haz lo otro"... Por ende el IF siempre existirá ..


Lo que puedes hacer es también aprovecharte de que las variables que envias de un formulario o link (por GET o POST para el ejemplo) viajan en un array .. así que podrías validar TODOs estos campos de tu formulario o links sin necesidad de conocer los nombres de los campos de la forma:

Código PHP:
foreach ($_POST as $campo){ // GET o POST según el metodo 
       
if (empyt($campo)){
           echo 
"El campo ".$campo" está vacio.<br>";
   }

Pero, esto sería "todo" campo de tu formulario o lo que corresponda ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 03/02/2004, 14:17
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
mmm se que los condicionales o demás deben usarse.. mi pregunta basicamente se trataba de cual era la mejor forma para ahorrar "recursos".. es decir.. que tan conveniente es usar if.... o si es mejor por ejemplo switch - case.. cosas de estas...

un saludo,
  #8 (permalink)  
Antiguo 03/02/2004, 16:08
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
utiliza el metodo de Cluster
__________________
www.dataautos.com
  #9 (permalink)  
Antiguo 03/02/2004, 17:09
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Bueno salome, te contestaron todo eso por que tu pregunta no fue clara desde un inicio.
Pero ya que aclaraste el punto, tal vez podamos darte una respuesta.
Realmente una codicion se vuelve tu enemiga cuando tus evaluaciones son un numero grande. como en el caso de algoritmos de ordenacion y busqueda.
Pero para tu caso el consumo de recursos no es realmente siginifactivo.
Y podria decirte que igual puedes resolver tu problema usando un switch o una serie de if's y el resultado en tiempo no sera notorio por el tipo de algoritmos existentes hoy en dia para hacer el analisis sintactico y lexico antes de ser interpretado como instrucciones.
Asi que el uso de cualquiera de los dos depende del tipo de evaluacion que hagas y de la claridad que quieras logarar en el codigo que escribes.
Te puedes dar una idea de esto consultado lieteratura que trata sobre la construccion de compiladores hay se aborda el tema de analisis sintactico y lexico a detalle con lo cual puedes sacar conculsiones de que tiempo le tomara al interprete analizar el arbol para convertirlo en operaciones.
Un buen libro de referencia es el de Compilers: Principles, Techniques, and tools de alfred V. Aho y jeffrey D. Ullman.
Creo que hay version al castellano tambien.
Obviamente una visita a amzon puede arrojar mas literatura que puede servir tambien como referencia a este tema.
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 13:07.