Validation MaskEdit

Signaler
Messages postés
36
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
24 octobre 2005
-
joznet
Messages postés
3
Date d'inscription
lundi 4 juillet 2005
Statut
Membre
Dernière intervention
2 août 2005
-
Bonjour à tous,

Voilà le problème :

J'ai un MaskEdit représnetant un Code Postal
(mon mask : 00000;0;_)

Jusque la aucun soucis particulier

par contre si je saisie un code postal correct, et que je veux ensuite le supprimer (vider le champs, j'ai ensuite l'erreur de mask invalide ....)

comment faire pour empecher cela ....

j'essaye en catchant l'erreur mais j'ai queqlues soucis ....

Merci à tous ....

7 réponses

Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
26
Je pense que tu essaies de mettre des espaces pour effacer le contenu. Or, tu indiques que seuls les caractères numériques sont autorisés dans ton masque.
Utilise la méthode Clear du contrôle TMaskEdit et tu n'auras plus ce souci.
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Messages postés
36
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
24 octobre 2005

Bonjour,

non je selectionne le contenu de mon maskedit et je le supprime ...

Par contre ou pourrais-je utiliser le Clear ??
Messages postés
36
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
24 octobre 2005

J'ai essayé :

procedure TfFicheProspect.meFactCodePostalOnValidate(Sender: TObject);
begin
if Trim(meFactCodePostal.Text) = '' then
meFactCodePostal.Clear;

meFactCodePostal.ValidateEdit;
end;

Mais la methode nvalidate ne fait pas partie des evenement accessible donc je ne pense pas que cette metode soit utilisable telle quelle .....
Messages postés
36
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
24 octobre 2005

Autre essai (au cas ou cela pourrais vous aidez a me répondre)

if Trim(meFactCodePostal.Text) = '' then
meFactCodePostal.Clear;

Dans la methode OnChange ... idem toujours l'erreur de saisie .... pourtant je passe correctement dans le clear...
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
26
En relisant vos précisions, je suis pris d'un doute : s'agit-il du composant TmaskEdit ou de la propriété EditMask d'un contrôle orienté données ?
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Messages postés
36
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
24 octobre 2005

Un composant TMaskEdit, avec un EditMask valant : 00000;1;_
Messages postés
3
Date d'inscription
lundi 4 juillet 2005
Statut
Membre
Dernière intervention
2 août 2005

Bonjour,

j'ai pas le exactement le même problème, mais je fais pour vider le masque : MaskEdit1.Clear tout simplement. Je ne sais pas si cela peut d'aider.
Sur les masques il y a un truc qui me dérange : Si la personne oublie de rentrer une valeur dans le masque et qu'elle clique à un autre endroit ou tout simplement qu'elle fait une tabulation pour passer sur l'autre champ afin de compléter sa saisie, il y une erreur "edbediterror" qui ce déclenche. La personne est donc obligée de faire 2 fois echap et de finir sa saisie. Or si on pouvait réinitialisé la saisie (la zone masquée) et ouvrir une fenêtre demandant à l'utilisateur s'il veut abandonné ou continuer la saisie, cela serait plus sympa. Le programme aurait une autre allure et serait mieux fini. D'après l'aide de delphi, cela déclanche une exeption : la procedure " ValidateEdit()"protected procedure ValidateError()".
Est ce qu'il y a un moyen pour intercepter cette exception ?
Merci à tous de votre aide, c'est vraiment très sympa de votre part de dépanner les autres. :-) .

Joznet