2009-11-26 23 views
19

Sto utilizzando la convalida jquery per la vaidation del campo richiesta.validazione jquery solo per controlli visibili

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

Questo fuochi per i controlli che sono nascosti troppo.

Ad es .: Quando l'utente seleziona l'opzione Others in How you find us? nel modulo di registrazione, è necessario per riempire l'opzione di testo per gli altri.

Ma questo si accende anche quando il controllo è nascosto.

Come eseguire la convalida jquery?

risposta

31

Non ho usato la convalida jQuery prima ma in base a the doco c'è un campo ignore a cui è possibile passare un selettore jQuery. Usando il selettore :visible dovresti riuscire a farlo.

Credo che questo è ciò che stai dopo

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

questo è esattamente quello che mi serve. – Prasad

+5

Non sarebbe .validate ({ignore: ": hidden"}) fa la stessa cosa? IMHO è un po 'più facile da leggere. – nillls

+3

@nillis - Ancora più importante, è anche l'impostazione predefinita corrente. – TheCloudlessSky

2

Si può tenta di aggiungere :visible al selettore di sé:

$("#registerform :visible") 
+3

Ciò renderebbe valido il modulo se fosse visibile, non i singoli campi all'interno del modulo. – fyjham

+0

Questo mi ha aiutato il mio selettore è così: $ ('input.required: visible'). Each (function() {...}; – Robert

+0

@fyjham che non è vero, dal momento che entrambi i selettori sono separati con lo spazio, ': visible' prenderebbe tutti gli elementi visibili all'interno del modulo. – Phiter

Problemi correlati