Besoin de votre avis

hred1 Messages postés 108 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 6 décembre 2007 - 24 nov. 2006 à 12:03
cs_kurky Messages postés 111 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 27 avril 2010 - 24 nov. 2006 à 14:18
Bonjour,

Je développe une application qui contient un questionnaire, dés que
l'utilisateur valide les réponse je vérifie certains questions disant sensibles.
Et pour accomplir cela je ne voie pas une méthode sophistiquée hormis des « if »
enchevêtrés pour vérifier question après question afin d'afficher un rapport
sous forme de message Box indiquant les erreurs effectuées.

Ya -t- il quelque chose de mieux SVP

Merci

Cordialement

6 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
24 nov. 2006 à 12:09
quel type de validation de réponses tu dois faire? au pire si cest de la validation syntaxique, tu as les maskedtextbox...a ce moment la lutilisateur ne pourra pas quitter le champ tant que celui ci n'est pas correct, ce qui tevite ce mecanisme de textbox....
sinon tu as lelement validating qui te permet de vérifier un champ des que lutilisateur veut lui faire perdre le focus (ca te permet la meme mecanique mais de faire des vérifications autres, genre présence du champ dans une BD ou autre, enfin un traitement de vérification quoi)
0
hred1 Messages postés 108 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 6 décembre 2007
24 nov. 2006 à 12:24
La validation concerne des valeurs numériques saisies puis
vérifiés par des méthodes statistiques.

Maintenant je cherche un « algo » intelligent qui vérifie valeur par
valeur sans passer par des "if" imbriquées par tout.


Merci
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
24 nov. 2006 à 12:39
alors pour chaque champ de saisie tu peux utiliser l'evenement validating.
imaginons que tu aies 2 champs numériques a vérifier :

void champ1_validating(object sender, canceleventarts e)
{
//admettons que cest ta vérification a faire
if (champ1.value > 2 && champ1.value < 5)
{
messagebox.show("la valeur doit etre comprise entre 2 et 5");
e.Cancel = true;
}
}

void champ2_validating(object sender, canceleventargs e)
{
//admettons que cest ta vérification a faire
if (champ1.value % 250 || et champ1.value ^ 10 < 5)
{
messagebox.show("la valeur est pas bonne");
e.Cancel = true;
}
}


ainsi tout se fait indépendemment. quand lutilisateur quitte le champ1 (click ailleurs ou appuie sur tab), levent se déclenche et la vérification ne se fait que sur le champ1. si la valeur saisie est correcte, il peut changer de champ, sinon la messagebox lui dis que cest pas bon et le focus reste sur le champ, lutilisateur doit alors rentrer une valeur valide. ca tevite une grosse vérification au moment du click sur un bouton valider par exemple, et tu as une validation a chaque fois que lutilisateur tente de quitter le champ spécifié
0
cs_kurky Messages postés 111 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 27 avril 2010
24 nov. 2006 à 13:37
Personnellement je n'aime pas le principe de se bloquer sur la saisie d'un textbox car dans ce cas tu ne peux pas le quitter pour en remplir d'autres et revenir ensuite dessus.
Moi la dernière fois que j'ai du faire ceci j'ai utilisé la même méthode validating mais au lieu de faire un 'e.cancel = true' (qui te bloque sur le champ), j'ai ajouter un ErrorProvider sur le textbox qui t'affiche un petit icone avec un text sur l'erreur. ce qui permet de remplir toute ta page et de corriger les erreurs après par rapport au message du provider.
J'avais créé une classe avec mes propres valideurs selon le type de données et où je gérais les erreurs de validation.

<hr />
C# quand tu nous tiens !!!
0

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

Posez votre question
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
24 nov. 2006 à 13:45
lavantage du validating est qu'il te permet de ne pas avoir a tout rechecker a la validation finale...et puis si tu ne veux pas bloquer l'utilisateur, tu fait e.cancel = true; ET tu vide le champ ou le replace sur la derniere valeur valide (en tous cas ca te permet de tout checker au fur et a mesure et davoir un code plus propre et une experience utilisateur plus agréable globalement)
0
cs_kurky Messages postés 111 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 27 avril 2010
24 nov. 2006 à 14:18
le validating est obligatoire pour ca de toute facon pour le faire à la volée.
Mais effacer le champ n,'est pas propre non plus. Le ErrorProvider est fait pour ca donc autant l'utiliser. Et ca t'évite une MessageBox inutile. Moins il y a de click mieux c'est...

<hr />
C# quand tu nous tiens !!!
0
Rejoignez-nous