Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/11/2011, 07:43
Avatar de Aijoona
Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: Incluir varias funciones en una principal

En caso de que tengas muchas validaciones trabajar dentro de un condicional te va a volver loco.

Lo ideal seria que cada validación solo valide lo que tiene que validar, devolviendo un error (o lanzandolo) sin mostrar ningún mensaje al usuario, ya que esa responsabilidad no le corresponde.

Un ejemplo rápido:

Código Javascript:
Ver original
  1. // Ejecuta todas las validaciones
  2. function validar_todo() {
  3.     var validaciones, errores, actual;
  4.  
  5.     validaciones = [
  6.         validar_a,
  7.         validar_b,
  8.         validar_c,  
  9.     ];
  10.  
  11.     errores = [];
  12.  
  13.     for(var i = 0; i < validaciones.length; i++) {
  14.         // Ejecuta la validacion actual
  15.         actual = validaciones[i]();
  16.  
  17.         // Si la validacion devolvio algo distinto de true,
  18.         // es que fallo
  19.         if(actual !== true) {
  20.             errores.push(actual);
  21.         }
  22.     }
  23.  
  24.     if(errores.length) {
  25.         alert(errores.join("\n"));
  26.     } else {
  27.         alert('Todo ok');
  28.     }
  29. }
  30.  
  31. // Validaciones simuladas
  32.  
  33. function validar_a() {
  34.     if(Math.random() > 0.5) {
  35.         return 'A no es valido';
  36.     }
  37.     return true;
  38. }
  39.  
  40. function validar_b() {
  41.     if(Math.random() > 0.5) {
  42.         return 'B no es valido';
  43.     }
  44.     return true;
  45. }
  46.  
  47. function validar_c() {
  48.     if(Math.random() > 0.5) {
  49.         return 'C no es valido';
  50.     }
  51.     return true;
  52. }
  53.  
  54. // Ejecutamos la validacion
  55. validar_todo();
__________________
blog | @aijoona