Comment validerais-je les entrées masquées et les entrées de texte non visibles avec le plug-in 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:
<input id="hiddenInput" type="hidden" name="something" value="1" />
J'ai 2 entrées comme celle-ci (les deux n'autorisent qu'un seul article), que je veux valider et afficher l'erreur dans parent <td>
. C’est ce que j’ai eu jusqu’à présent, mais il n’affiche pas l’erreur et ne soumet pas de 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 cachés, remplacez ignore et définissez-le sur 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 cachés et non visibles (display: none
etc.)
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.
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
}
}
});