Plugin de validation jQuery – Valider les entrées cachées et non visibles?

Comment valider les entrées masquées et les entrées de texte non visibles avec le plugin jQuery Form Validation? Le problème est que j’utilise le plug-in de suggestion automatique, qui génère une entrée masquée pour les éléments sélectionnés:

 

J’ai 2 entrées comme celle-ci (toutes deux ne permettent qu’un élément), que je veux valider et afficher l’erreur dans le parent

. C’est ce que j’ai obtenu jusqu’ici, mais il n’affiche pas l’erreur ou ne soumet pas un formulaire, si la valeur est en fait un nombre.

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

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

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

Vous pouvez utiliser l’option 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 qui ignore tous les champs masqués et les champs non visibles ( display: none etc.)

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

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

Pour restaurer les parameters pour ignorer les champs masqué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.

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 } } });