Sujet : [Delphi 4] Contrôle de validité d'un champ |
Profil supprimé |
Le mieux pour toi je pense est d'utiliser l'évènement OnValidate du TField sur lequel tu veux faire un controle...
Tu double cliques sur ton query ou ta table, puis clique droit "ajouter tous les champs"
Tu vas sur le champs qui t'interesse, puis dans les evenements, double clique sur OnValidate puis tu mets le code suivant:
if Nomdetablenomdechamp.Value = '....' then
raise Exception.Create('Valeur incorrecte');
L'utilisateur ne pourra pas sortir du champs tant qu'il n'aura pas rentré une valeur correcte... ;) |
chev_alier |
C'est des champs dbedit.
ça marche.. mais que partiellement.
j'ai utiliser l'évènement on keyPress
//si le caractère est autorisé
if (Key in ['1','2','3','4','5','6','7','8','9','0','+','/',' ','.','(',')']) or (Key=char(8)) or (Key=char(13)) then
//c'est ok
else
//y a un message d'avertissement
Application.MessageBox('Caractère non autorisé !','Erreur de saisie',MB_OK+MB_ICONWARNING);
;
Le problème, c'est que le caractère passe quand même et que je n'ai pas trouvé de truc pour l'effacer.
Le mieux ça serai de contrôler tout le champ avec l'évènement OnExit... mais comment faire ce contrôle ?
If dbefNoTelPrive.Text=??? then
//afficher message d'erreur + obliger l'utilisateur à corriger [edtdd]--Message édité par chev_alier--[/edtdd] |