J'ai un formulaire dont le champ "Adresse de facturation est-ce que votre adresse de livraison". Si l'utilisateur clique sur le bouton radio "Non", l'adresse cachée ul # billingAddress est affichée. Les champs contenus dans ul # billingAddress sont obligatoires s'ils sont visibles, c'est-à-dire si ul a display: block.jQuery validate plug in - validation des éléments masqués uniquement lorsqu'ils sont visibles
Comment écrire un addMethod personnalisé pour jquery validate.js qui ne l'exige que si le champ est visible? C'est ce que j'ai qui ne fonctionne pas.
$.validator.addMethod ("BillingSameAsShipping", function(value, element) {
var billingFields = ['billingAddress1','billingAddress2','billingCity','billingState','bilingZip']
if ($("#billingAddress").is('visible') && billingFields.val('') {
return false;
} else
return true;
}, "Please fill in the required billing information");
Ceci, de toute évidence, est vérin. Je dois le faire fonctionner pour chacun qui est dans le var.
Merci!
Avez-vous essayé de les rendre non seulement invisibles, mais aussi de les mettre hors service? C'est juste une supposition, mais puisque les champs de formulaire désactivés ne seraient pas transmis de toute façon, je m'attendrais à ce qu'aucune validation ne se produise sur eux. – Tomalak
Je ne devrais pas avoir à les désactiver, je veux juste qu'ils ne valident que lorsqu'ils sont visibles. À moins de les rendre handicapés est-il plus facile? –
Je veux dire les rendre invisibles * et * désactivés. Avec jQuery, c'est assez facile. – Tomalak