61 votes

Plug-in de validation jQuery - Validation des entrées masquées et non visibles?

Comment puis-je valider caché entrées et pas de texte visible entrées avec jQuery de Validation de Formulaire du plugin? Le problème, c'est que je suis à l'aide d'auto-suggestion d'un plugin, qui génère un caché d'entrée pour les éléments sélectionnés:

<input id="hiddenInput" type="hidden" name="something" value="1" />

J'ai 2 entrées comme ceci (à la fois de leur permettre seulement 1 point), ce qui je veux valider et afficher l'erreur dans le parent <td>. C'est ce que j'ai obtenu jusqu'à présent, mais il ne l'affiche pas d'erreur ou de soumettre un formulaire, si la valeur est un nombre.

$("#form1").validate({
        rules: {
            something: {
                number:true,
                min:1,
                required:true
            }
        }
        })

119voto

Josh Points 873

Pour autoriser la validation des éléments cachés, remplacez ignore et définissez-le sur chaîne vide:

 $("#form1").validate({
    ignore: "",
    rules: {
        something: {
            number:true,
            min:1,
            required:true
        }
    }
});
 

27voto

Emre Erkan Points 5624

Vous pouvez utiliser les options ignore comme ceci:

 $("#form1").validate({
    ignore: "input[type='text']:hidden",
    rules: {
        something: {
            number:true,
            min:1,
            required:true
        }
    }
});
 

La valeur par défaut de l'option ignore est :hidden ce qui ignore tous les champs masqués et non visibles ( display: none etc.)

14voto

CMcClymont Points 71

Si les autres réponses ne fonctionnent pas pour vous, essayez plutôt ceci. Il supprime tout ignore pour le formulaire, donc il validerait tout, y compris les champs cachés:

 $.data($('form')[0], 'validator').settings.ignore = "";
 

Pour restaurer les paramètres pour ignorer les champs cachés, utilisez quelque chose comme ceci:

 $.data($('form')[0], 'validator').settings.ignore = "input[type='text']:hidden";
 

Vous pouvez également utiliser le code ci-dessus pour relire la valeur actuelle.

5voto

lopradi Points 1

Une autre façon de valider les entrées cachées est la suivante:

 $("#form1").validate({
        ignore: "not:hidden",
        rules: {
            something: {
                number:true,
                min:1,
                required:true
            }
        }
});
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X