web-dev-qa-db-fra.com

jQuery validate plugin require field if another field has a value and vice versa

J'utilise le plugin de validation jQuery pour valider mon formulaire. Je voudrais lier plusieurs paires de champs de telle sorte que si un champ a une valeur, l'autre doit également avoir une valeur. Essentiellement, les deux champs (les deux entrées de texte) doivent tous deux avoir une valeur ou les deux n'ont pas de valeur. Quelqu'un connaît-il un bon moyen d'y parvenir?

33
zaq

si vous regardez l'exemple de code de la section "règles" dans la page de documentation , vous pouvez définir un champ depends.

quelque chose comme ce qui suit (c'est juste hors de ma tête, non testé):

...
secondInput: {
    required: function(element){
            return $("#firstInput").val()!="";
        }
}
....
66
Erico Chan

Juste pour clarifier, c'est ce que j'ai fini par faire sur la base de la réponse d'Erico:

    firstInput: {
        required: function(element){
            return $("#secondInput").val().length > 0;
        }
    },
    secondInput: {
        required: function(element){
            return $("#firstInput").val().length > 0;
        }
    }

Chaque entrée dépend maintenant de l'autre et ne sera requise que si l'autre a une valeur.

29
zaq