Maison >
Article > interface Web > Problème de mise en cache de validation à distance de validation Jquery solution_jquery
Problème de mise en cache de validation à distance de validation Jquery solution_jquery
WBOYoriginal
2016-05-16 16:54:391198parcourir
La validation Jquery a été utilisée dans des projets récents pour la vérification. La combinaison du bootstrap et du formulaire jquery fait du bien. Mais le problème de cache de la vérification à distance me donne mal à la tête depuis longtemps, et j'ai failli abandonner ce plug-in.
Exemple :
École, année, entité de classe existante
La même école ne peut pas avoir la même année, et la même année ne peut pas avoir la même classe
Prenez comme exemple la même école qui ne peut pas avoir la même note. Utilisez la méthode à distance lors de la vérification :
listValue="gradeName" headerKey="-1" headerValue="Veuillez sélectionner une note">
< ;/div>
Il existe actuellement deux écoles, Testing School 1 et Testing School 2. Parmi elles, Testing School 1 compte deux niveaux : première année et deuxième année.
Théoriquement. , après avoir ajouté Au niveau scolaire, si l'école choisit de tester l'école 1, alors lors de la sélection de la première année ou de la deuxième année de l'école primaire, la vérification à distance signalera une erreur "Cette année existe déjà"
En fait, le résultat est également correct lors de la première utilisation
Mais si vous changez d'école à ce moment-là, par exemple, choisissez l'école de test 2, en raison de problèmes de cache, de fiche de validation. -in ne réeffectuera pas une nouvelle vérification à distance et renverra directement les résultats de la dernière vérification, il y a donc les erreurs douloureuses suivantes
Ce n'est pas la chose la plus difficile à accepter. Le problème sérieux est que si vous choisissez d'abord le test de l'école 2 et la première année de l'école primaire, la vérification à distance est réussie. Sélectionnez ensuite l'école de test 1 et la vérification à distance réussit toujours s'il n'y a pas de vérification de la même année. dans la même école, cela signifie un échec
Donc diverses solutions de requêtes ont été effectuées
Il y a un dicton selon lequel l'ajout de "cache: false" à distance, mais le test lui-même n'a pas résoudre le problème
J'ai essayé de lier l'événement onchange dans la liste déroulante de l'école pour effacer la valeur gradeId, mais cela n'a toujours pas résolu le problème
J'ai vérifié l'API de validation et j'ai trouvé que la méthode .valid() peut déclencher activement la vérification. Cependant, en raison de problèmes de mise en cache, la télécommande n'a toujours pas revérifié
J'ai également vérifié le code source de validation et j'ai découvert qu'il contenait une valeur précédente. . , s'il y a une valeur, il renverra directement le résultat de la vérification précédente
$("#schoolId").change(function(){ $("#gradeId").removeData( "previousValue"); }); Résolu avec succès le problème
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn