FMX.Edit.TCustomEdit.OnValidating
Delphi
property OnValidating: TValidateTextEvent read GetOnValidating write SetOnValidating;
C++
__property Fmx::Text::TValidateTextEvent OnValidating = {read=GetOnValidating, write=SetOnValidating};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
event | public | FMX.Edit.pas FMX.Edit.hpp |
FMX.Edit | TCustomEdit |
Description
Se produit quand vous saisissez des symboles ou quand la focalisation sort de ce contrôle d'édition.
Ecrivez un gestionnaire d'événement OnValidating pour valider immédiatement les modifications pendant que l'utilisateur saisit les informations dans le contrôle d'édition. Le gestionnaire d'événement OnValidating peut vérifier le texte fourni et, s'il n'est pas acceptable, il renvoie un message d'erreur ou d'avertissement.
Exemple
A titre explicatif, imaginez le scénario suivant : une application fournit une zone d'édition de texte conçue pour saisir une adresse de messagerie. Si l'utilisateur saisit un espace ou la sous-chaîne "@.", le gestionnaire d'événement OnValidating affiche une icône de point d'exclamation à côté du contrôle d'édition. Cette icône informe l'utilisateur que les symboles en cours ne sont pas acceptables pour l'adresse de messagerie.
Remarque : Initialement, l'icône de point d'exclamation est invisible. Le gestionnaire d'événement OnValidating définit la propriété TImage.Visible sur
True
, si une erreur de saisie se produit.
Pour ce scénario, vous pouvez implémenter les gestionnaires d'événement OnValidating suivants :
procedure TForm1.Edit1Validating(Sender: TObject; var Text: string);
begin
Image1.Visible := Text.Contains(' ') or Text.Contains('@.');
end;
void __fastcall TForm1::Edit1Validating(TObject *Sender, UnicodeString &Text) {
Image1->Visible = ContainsStr(Text, " ") || ContainsStr(Text, "@.");
}
Remarque : Pour traiter la saisie de l'utilisateur, ces extraits de code utilisent :
- Pour C++Builder : la routine System.StrUtils.ContainsStr.
- Pour Delphi : la méthode System.SysUtils.TStringHelper.Contains.