elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Validar campos en un arreglo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Validar campos en un arreglo  (Leído 4,245 veces)
Zitros

Desconectado Desconectado

Mensajes: 11



Ver Perfil
Validar campos en un arreglo
« en: 7 Marzo 2014, 19:07 pm »

Tengan ustedes un buen día!

Estoy realizando un formulario donde estoy validando los campos texto que no estén vacíos. Pero hay una excepción, en el formulario están los campos de Teléfono del Domicilio, El móvil y el de Oficina.

Realmente quiero que si no digitan todos los campos de telefono, movil y oficina que por lo menos requiera uno de esos campos.

Pensé en la lógica que podría contener para dicha validación:

Código:
un for ( que recorra el arreglo){
       comprobado si cada uno de esos campos esta vacio
       si movil = vacio //pasa al siguiente
       si oficina= vacio// pasa al siguiente
      si domicilio = vacio
     despliega error ='se requiere al menor un campo lleno'
}
 
En caso contrario

   si movil !empty es diferente de vacio // entonces para el ciclo y no despliega error.

Me gustaria saber si estoy pensando bien la lógica para comprobar si por lo menos existe algún dato lleno de este arreglo.

Muchas Gracias!.


En línea

dainodaibouken

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: Validar campos en un arreglo
« Respuesta #1 en: 7 Marzo 2014, 22:00 pm »

por que no utilizas un while?   :rolleyes:


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Validar campos en un arreglo
« Respuesta #2 en: 7 Marzo 2014, 22:30 pm »

Código
  1. if(!isset($movil,$oficina,$domicilio)){ echo 'Se requiere al menor un campo lleno'; }

Si quieres puedes hacer una funcion que devuelva solo los campos que están rellenos.

Código
  1. <?php
  2.  
  3. $movil = '';
  4. $oficina = '9795555555';
  5. $domicilio = '972773443';
  6.  
  7.  
  8. function validar_campos($datos){
  9.   if(!is_array($datos)){return false;}
  10.  
  11.   foreach($datos as $index=>$dato){
  12.      if(empty($dato)){ unset($datos[$index]); }
  13.   }
  14.  
  15.   if(empty($datos)){ return false; }
  16.   else { return $datos; }
  17. }
  18.  
  19. $datos = array('movil'=>$movil,'oficina'=>$oficina,'domicilio'=>$domicilio);
  20. $nuevos_datos = validar_campos($datos);
  21.  
  22. if(!$nuevos_datos){ echo 'se requiere al menor un campo lleno'; }
  23. else {
  24. echo '<pre>';
  25. print_r($nuevos_datos);
  26. }

Resultado:
Código
  1. (
  2.    [oficina] => 9795555555
  3.    [domicilio] => 972773443
  4. )


por que no utilizas un while?   :rolleyes:

Siempre que puedas evita usar while. while es para casos en los que no se conoce cuando hay que detener el bucle. Si conoces ese dato, siempre es mejor usar for y foreach ya que son mucho mas rápidos.

Saludos
En línea

Zitros

Desconectado Desconectado

Mensajes: 11



Ver Perfil
Re: Validar campos en un arreglo
« Respuesta #3 en: 8 Marzo 2014, 18:18 pm »

Muchas gracias   :laugh:!!. Me sirvió de mucho, me ayudo a validar esos campos y lo aplique de la siguiente manera
Código:

if(isset($_POST['domicilio'],$_POST['movil'],$_POST['oficina']))
{
  $movil = $_POST['domicilio'];
  $oficina = $_POST['movil'];
  $domicilio = $_POST['oficina'];

$errors = array();
$datos = array('movil'=>$movil,'oficina'=>$oficina,'domicilio'=>$domicilio);
$nuevos_datos = validar_campos($datos);

if(!$nuevos_datos){ $errors[] = '<li>Se requiere al menos un teléfono para contactarlo</li>'; }

if(!empty($errors)){
foreach ($errors as $error){
echo $error, '<br />';

}else{
insertar($domicilio, $movil,$oficina);
header('Location: paginaprincipal.php');
exit();
}

<form method="post" action="" name="frmprueba">
Telefono Domicilio:<input type="text" name="domicilio" />
Telefono Movil:<input type="text" name="movil"/>
Telefono Oficina:<input type="text" name="oficina"/>
<input type="submit" value="Validar"/>

</form>

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como validar estos campos
Programación Visual Basic
fedefrankk 7 4,640 Último mensaje 13 Septiembre 2008, 05:11 am
por fedefrankk
como validar campos en sql
.NET (C#, VB.NET, ASP)
Elmonky 1 3,191 Último mensaje 13 Febrero 2012, 23:15 pm
por Elmonky
Validar campos checkbox y radio en formulario
PHP
rochudo 0 3,260 Último mensaje 14 Febrero 2013, 12:03 pm
por rochudo
Validar campos iguales con bootstrap
Desarrollo Web
1mpuls0 2 3,716 Último mensaje 11 Junio 2015, 19:59 pm
por 1mpuls0
AYUDA!!! validar DNI en arreglo bidimencional
Programación C/C++
cristianf1hlm 1 1,787 Último mensaje 21 Febrero 2016, 19:48 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines