J'utilise le plugin jQuery Validation pour valider un formulaire. Savez-vous comment forcer la revalidation sur champs précédemment réussis?Plugin jQuery Validation: Comment puis-je forcer la validation sur des champs précédemment valides?
J'ai essayé la fonction .form en utilisant le contrôle suivant (ceci est effectué après que l'utilisateur clique sur « submit »):
if ($('#form1').validate().form()==false)
{
formValid = false;
}
Cependant, il semble que le code ci-dessus réessaye pas la validation si les champs sont déjà validés avec succès (c.-à-d. cocher à côté d'eux) ne sont pas vérifiés à nouveau. La raison pour vouloir réessayer la revalidation sur des champs précédemment réussis est qu'ils s'appuient sur la validation à distance, et que le résultat (succès ou échec) peut changer entre l'utilisateur quittant le champ et cliquant sur soumettre. (Cela s'applique à un champ 'nom d'utilisateur').
Dans le cas où cela affecte la réponse, j'ai plusieurs formulaires à valider (pour simplifier, dans l'extrait de code ci-dessus je ne me réfère qu'à '# form1').
Merci à l'avance pour tout conseil,
Rob
excellente - cela efface la validation parfaitement, merci Nick ... bien qu'un autre problème a surgi! Parce qu'il revalide maintenant toutes les formes, j'obtiens une erreur en javascript: "Impossible de charger la ressource: annulé". Le problème se produit uniquement lorsque j'ai plusieurs formulaires sur la page (qui est une action pilotée par l'utilisateur, car les formulaires sont créés dynamiquement). Aucune suggestion? – Rob
@Rob - Je ne supprimerais que les options à distance avec ça, ça sauvera le plus de maux de tête, peux-tu faire ça avec un sélecteur plus spécifique que celui que j'ai ci-dessus? De plus, je ne ferais que re-valider celui que vous soumettez. –
à partir d'un débogage, il semble que l'erreur "Impossible de charger la ressource" se produit lorsque .validate() .form() est appelé simultanément pour deux entrées de formulaire ayant le même nom. J'ai besoin de vérifier toutes les entrées sur soumettre donc même avoir le sélecteur le plus spécifique produit toujours le problème. L'erreur ne se produit pas si j'appelle .validate() .form() manuellement sur chaque formulaire de manière séquentielle avec une action pilotée par l'utilisateur (par exemple en cliquant sur un bouton 'valider') ... il semble donc que je doive valider le formulaire (c'est-à-dire n'appeler que la validation du formulaire suivant après validation du premier) ... des suggestions? – Rob