Je souhaite déclencher manuellement la validation, y compris l'affichage des messages d'erreur avec jQuery Validate .
Le scénario que j'essaie d'accomplir est une forme comme celle-ci:
<form>
<input id=i1> <button id=b1>
<input id=i2> <button id=b2>
</form>
En cliquant b1
, seul i1
doit être validé. poule en cliquant b2
, seul i2
doit être validé. Cependant, tous les champs doivent être affichés. Comment puis-je faire ceci? J'ai pensé à gérer l'événement de clic b1/b2
et à valider manuellement une partie du formulaire.
Réponses:
Cette bibliothèque semble permettre la validation d'éléments uniques. Associez simplement un événement de clic à votre bouton et essayez ce qui suit:
Exemples ici:
https://jqueryvalidation.org/Validator.element
la source
Ou on peut simplement utiliser:
$('#myElem').valid()
Notez qu'il
validate()
doit être appelé sur le formulaire avant de le vérifier en utilisant cette méthode.Lien de documentation: https://jqueryvalidation.org/valid/
la source
validate()
doit être appelé sur le formulaire avant de le vérifier avec cette méthode.Mon approche était comme ci-dessous. Maintenant, je voulais juste que mon formulaire soit validé quand une case à cocher spécifique était cliquée / modifiée:
la source
Comme écrit dans la documentation , la façon de déclencher la validation de formulaire par programme est d'appeler validator.form ()
la source
Il existe une méthode non documentée à partir de la version 1.14
Cette méthode valide silencieusement le retour vrai / faux. Il ne déclenche pas de messages d'erreur.
la source
Eva M d'en haut, a presque eu la réponse comme indiqué ci-dessus (merci Eva M!):
C'est presque la réponse, mais cela pose des problèmes, même dans le plugin de validation jquery le plus récent au 13 décembre 2018. Le problème est que si l'on copie directement cet échantillon et que JAMAIS appelle ".validate ()" plus d'une fois , le traitement du focus / clé de la validation peut être interrompu et la validation peut ne pas afficher correctement les erreurs.
Voici comment utiliser la réponse d'Eva M et vous assurer que ces problèmes de focus / clé / masquage d'erreur ne se produisent pas:
1) Enregistrez votre validateur dans une variable / global.
2) NE PAS appeler $ ("# myform"). Validate () JAMAIS à nouveau.
Si vous appelez $ ("# myform"). Validate () plus d'une fois, cela peut provoquer des problèmes de focus / clé / masquage d'erreur.
3) Utilisez la variable / global et le formulaire d'appel.
la source
Dans mon cas similaire, j'avais ma propre logique de validation et je voulais juste utiliser la validation jQuery pour afficher le message. C'est ce que j'ai fait.
la source
je l'ai essayé a fonctionné tnx @Anastasiosyal je veux le partager sur ce fil.
Je ne suis pas sûr de savoir comment les champs de saisie ne se sont pas déclenchés lorsque j'ai vidé les champs. Mais j'ai réussi à déclencher chaque champ obligatoire individuellement en utilisant:
voici mon avis
et mon entité
la source
Il existe un bon moyen si vous utilisez
validate()
des paramètres sur un formulaire et que vous souhaitez valider manuellement un champ de votre formulaire par la suite:Documentation: Validator.element ()
la source