Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/06/2011, 01:36
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 11 meses
Puntos: 2237
Respuesta: Recorrer campos de un formulario para no repetir un aviso de Incompleto co

Por lo general, cuando creo formularios, incluyo un texto en cada campo que indica al usuario como llenarlo y, al hacer las validaciones, puedes usar una matriz asociativa para marcar los que no se llenaron correctamente, de forma que puedas utilizar una sola funcion para mostrar la ayuda y errores:

Código PHP:
Ver original
  1. $errores = array();
  2. // Validar nombre:
  3. $nombre = trim($_POST['nombre']);
  4. if(strlen($nombre) < 3 || strlen($nombre) > 20) {
  5.       $errores['nombre'] = 'El nombre debe contener entre 3 y 20 caracteres, ahora tiene: ' . strlen($nombre);
  6. }
  7.  
  8. // Despues, en el formulario:
  9. echo "<label for=\"nombre\">Nombre:</label>\n";
  10. echo "<input type=\"text\" name=\"nombre\" id=\"nombre\" value=\"$nombre\" size=\"20\" maxlength=\"20\" />\n";
  11. ayuda_error('nombre', 'Por favor teclea tu nombre.');
  12.  
  13. // Y la funcion para mostrar ayuda o errores:
  14. function ayuda_error($campo, $ayuda) {
  15.     global $errores;
  16.     if(isset($errores[$campo])) {
  17.         // Aqui muestras el mensaje de error, con estilo CSS si es necesario
  18.     } else {
  19.         // Aqui muestras la ayuda
  20.     }
  21. }

Realmente no es tan complicado, incluso tengo funciones para crear campos de formulario (input text, select, checkbox, radio, textarea y botones) y estoy trabajando en una clase, aunque no se si realmente llegue a usarla, depende de como me adapte en el proyecto que estoy trabajando.
__________________
- León, Guanajuato
- GV-Foto