2009-11-26 13 views
19

Estoy usando la validación de jquery para la vaciación de campo requerida.jquery validación solo para controles visibles

$("#registerform").validate(); 

Este dispara a los controles que están ocultos también.

Por ejemplo .: Cuando el usuario selecciona la opción Others en How you find us? en forma de registro, es necesario completar la opción de cuadro de texto para los demás.

Pero esto se dispara incluso cuando el control está oculto.

¿Cómo hacerlo en la validación jquery?

Respuesta

31

No he utilizado la validación de jQuery anteriormente, pero de acuerdo con the doco hay un campo de ignorar al que puede pasarle un selector de jQuery. Al usar el selector :visible, debería poder hacer esto.

Creo que esto es lo que está buscando

$("#registerform").validate({ignore:":not(:visible)"}); 
+0

esto es exactamente lo que necesito. – Prasad

+5

No .validar ({ignorar: ": oculto"}) ¿hacer lo mismo? En mi humilde opinión es un poco más fácil de leer. – nillls

+3

@nillis: lo que es más importante, también es el valor predeterminado actual. – TheCloudlessSky

2

Usted puede intentar agregar :visible al propio selector:

$("#registerform :visible") 
+3

Eso lo haría validar el formulario si fuera visible, no campos individuales dentro del formulario. – fyjham

+0

Este me ayudó a mi selector es así: $ ('input.required: visible'). Cada uno (función() {...}; – Robert

+0

@fyjham eso no es cierto, ya que ambos selectores están separados por espacio, ': visible' tomaría todos los elementos visibles dentro de la forma. – Phiter

Cuestiones relacionadas