Validar campos iguales con bootstrap

Iniciado por 1mpuls0, 28 Mayo 2015, 18:42 PM

0 Miembros y 1 Visitante están viendo este tema.

1mpuls0

Hola.

Estoy trabajando con el framework bootstrap y estoy utilizando el validador, me gustaría aplicar la misma validación para diferentes inputs por ejemplo números de teléfono

Código (html4strict) [Seleccionar]

<input type="text" name="telefono1" />
<input type="text" name="telefono2" />
<input type="text" name="telefono3" />



Código (javascript) [Seleccionar]

$(document).ready(function() {
   $('#form').bootstrapValidator({
       message: 'This value is not valid',
       excluded: ':disabled',
       feedbackIcons: {
           valid: 'glyphicon glyphicon-ok',
           invalid: 'glyphicon glyphicon-remove',
           validating: 'glyphicon glyphicon-refresh'
       },
       fields: {
           telefono1: {
               validators: {
                   notEmpty: {
                       message: 'Telefono requerido'
                   }
               }
           },
           telefono2: {
               validators: {
                   notEmpty: {
                       message: 'Telefono requerido'
                   }
               }
           },
           telefono3: {
               validators: {
                   notEmpty: {
                       message: 'Telefono requerido'
                   }
               }
           }
       }
   });


Lo que me gustaría tener es algo así (y qué no sé si sea posible)

Código (javascript) [Seleccionar]

telefono1, telefono2, telefono3: {
               validators: {
                   notEmpty: {
                       message: 'Telefono requerido'
                   }
               }
}


Como dije, es solo un ejemplo, porque en realidad estoy validando la CURP de 5 personas y ocupo al rededor de 100 líneas de código por cada curp, algo que no se me hace muy práctico.

Gracias por su ayuda.

Saludos.
abc

[u]nsigned

Como ves en la linea #10, al parametro fields de la funcion bootstrapValidator se le pasa un objecto. Podrias crear/serializar este objecto desde el mismo js dinamicamente. Algo como:

Código (javascript) [Seleccionar]

$(document).ready(function() {
   var myFields = {};
   for(var i=0; i<3; i++){
      myFields["telefono"+(i+1)] = {
         validators: {
             notEmpty: {
                 message: 'Telefono requerido'
             }
         }
      };
   }

    $('#form').bootstrapValidator({
        message: 'This value is not valid',
        excluded: ':disabled',
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: myFields
    });
});


Aunque tambien podrias reemplezar el bucle for asignandole una clase a cada input a valdiar, y luego recorriendo dicha clase con la funcion $.each de jQuery. Pero la idea es la misma.

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

1mpuls0

abc