fluminis
Messages postés73Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention20 juin 2005
-
20 janv. 2005 à 11:13
fluminis
Messages postés73Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention20 juin 2005
-
21 janv. 2005 à 20:05
Bonjour à tous
Je viens de faire la decouverte du composant "ErrorProvider"
C'est tres bien je valide un à un les controls de mon formulaire quand le control perd le foccus (et que l'evenement _validating est appelé)
mais comment savoir qd l'utilisateur clic sur le bouton "enregistrer les informations" que toutes les erreurs ont été corrigées ?
comment savoir que tous les controls du formulaires sont correctement rempli ? car si par hasard l'utilisateur ne selectionne pas un des textbox, le control ne perd pas le foccus donc n'appelle pas la fonction de validation.
Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005 20 janv. 2005 à 17:54
Bonjour,
Pour ces types de vérifications j'utilise un bool pour savoir si l'utilisateur est entré dans le controle. Après il faut tester tous tes bool ce qui est vite prise de tete si tu as beaucoup de controles ...
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 20 janv. 2005 à 18:27
avant validation tu lance une fonction qui test toutes les valeurs de tes champs et voilou...la fonction te retourne true si tout est ok false sinon...a l'ancienne....
Arthenius
"Il n'y a pas de mauvais développeurs,...
mais uniquement de mauvais utilisateurs..."
fluminis
Messages postés73Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention20 juin 2005 20 janv. 2005 à 23:55
hum,
y a un truc qui serait this.Validate();
a appeler dans la fonction du boutton
mais qui dit ca dit aussi que les fonctions de validation mettent cancel à true ce qui est très désagréable puisque cela empeche l'utilisateur de changer de textbox tant qu'il subsiste une erreur.
donc si je le fais a l'ancienne en re verifiant les valeurs de chaque textbox, premierement je v y passer la nuit et deuxiemement ca va me faire du code en double...
bon je sens que je vais abandonner ce errorProvider pour revenir à la methode bidouille et verif seulement lors du clic sur le bouton.
Athalus
Messages postés131Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 7 juillet 2005 21 janv. 2005 à 09:05
Moi je ne vérifie pas à chaque modification de controle mais seulement au final quand ( dans mon cas ) on click sur Enregistrer. Comme le dit Arthenius je lance une fonction de vérification qui test toutes les valeurs rentrées et renvoi true ou false. Avec un message pour spécifier quelle valeur est érronnée. J'ai pas trouvé/pensé plus simple mais si t'a une idée révolutionnaire je suis preneur aussi
hum.......
Vous n’avez pas trouvé la réponse que vous recherchez ?
fluminis
Messages postés73Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention20 juin 2005 21 janv. 2005 à 09:18
bin en fait c'est que le composant errorProvider à l'air très puissant puisque à chaque fois qu'un textbox (ou autre) perd le foccus, l'evenement validating du control est lancé. Donc en utilisant le errorProvider à ce moment là tu peux afficher une icone a cote de ton textbox pour avertir l'utilisateur alors meme qu'il n'a pas encore appuye sur le bouton "enregistrer".
C'est très puissant mais ça à le désavantage de devoir qd meme faire une vraie verification lors de l'appui du boutton.
et si tu veux dans ton bouton faire :
if( this.Validating() )
MessageBox("tous les champs du formulaire sont valides");
else
//invalide
il faut que dans les evenements _Validating(....)
tu mettes e.Cancel à true. Ce qui est chiant pour l'utilisateur qui ne peut pas changer de textbox tant qu'il y a une erreur dans le control qui a le foccus.
si tu ne mets pas le e.Cancel à true, tu peux qd meme afficher l'icone mais apres il te faut une verification à l'ancienne. Le jeu en vaut il la chandelle ?