ErrorProvider

fluminis Messages postés 73 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 20 juin 2005 - 20 janv. 2005 à 11:13
fluminis Messages postés 73 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 20 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.

merci d'avance

fluminis

7 réponses

Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Derniè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 ...

hum.......
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
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..."
0
fluminis Messages postés 73 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 20 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.

qu'en pensez vous ?
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Derniè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.......
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fluminis Messages postés 73 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 20 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 ?
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
21 janv. 2005 à 10:07
Ca m'a l'air bien compliqué tout ca.. je crois que je vais garder ma bonne vieille méthode...

hum.......
0
fluminis Messages postés 73 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 20 juin 2005
21 janv. 2005 à 20:05
je crois que je vais faire comme toi :o)

les bonnes vielles methodes y a que ca de vrai ...
0