2010-07-23 3 views
10

Come sopra, come posso rimuovere tutte le regole richieste da un modulo usando jQuery Validate?Come rimuovo le regole "richieste" da tutti gli input di modulo in jQuery Validate?

Questo è quello che ho attualmente:

var settings = $('form').validate().settings; 

//alert(settings.rules.toSource()); 
for (var i in settings.rules){ 
    alert(i); 
    delete settings.rules.i; 
    //^not sure about how to do this properly, 
    // and how to just delete the 'required' rule and keep the rest intact 
} 

La funzione originaria del jQuery convalida restituisce un errore non definito:

$("input, select, textarea").rules('remove','required'); 
+0

utilizzare $ (this) .removeClass ('richiesto') –

+0

@Amit Che non funzionerà poiché le impostazioni di convalida non vengono eseguite dalle classi di input. – bcmcfc

+0

Puoi dirci perché vuoi farlo? – Nealv

risposta

4

Come si può a volte essere il caso, mi sembra di aver inciampato su la risposta subito dopo il ricorso a postare qui.

for (var i in settings.rules){ 
    delete settings.rules[i].required; 
} 

Opere.

13

E se non si desidera modificare le impostazioni interne di Convalida, è possibile utilizzare la funzione di pubblico in questo modo:

$('input, select, textarea').each(function() { 
    $(this).rules('remove', 'required'); 
}); 

Nota che tralasciando il secondo parametro (richiesto) permetterebbe di eliminare tutte le regole , non solo il "necessario".