2010-07-23 4 views
10

Comme ci-dessus, comment puis-je supprimer toutes les règles requises d'un formulaire en utilisant jQuery Validate?Comment supprimer les règles 'required' de toutes les entrées de formulaire dans jQuery Validate?

C'est ce que j'ai à l'heure actuelle:

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 
} 

Le natif de fonction jQuery Validation renvoie une erreur non définie:

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

utilisez $ (this) .removeClass ('required') –

+0

@Amit Cela ne fonctionnera pas car les paramètres de validation ne sont pas exécutés dans les classes d'entrée. – bcmcfc

+0

Pouvez-vous nous dire pourquoi vous voulez faire cela? – Nealv

Répondre

4

Comme on peut parfois être le cas, je semble avoir trébuché sur la réponse juste après avoir eu recours à poster ici.

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

Travaux.

13

Et si vous ne voulez pas salir avec les paramètres internes de validate, vous pouvez utiliser la fonction publique de cette façon:

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

Notez que laissant le second paramètre (requis) supprimerait toutes les règles , pas seulement le "requis".

Questions connexes