Data.DB.TField.OnValidate

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property OnValidate: TFieldNotifyEvent read FOnValidate write FOnValidate;

C++

__property TFieldNotifyEvent OnValidate = {read=FOnValidate, write=FOnValidate};

Propriétés

Type Visibilité  Source Unité  Parent
event published
Data.DB.pas
Data.DB.hpp
Data.DB TField


Description

Se produit juste avant l'écriture des données dans le tampon d'enregistrement.

Ecrivez un gestionnaire d'événement OnValidate pour valider les modifications apportées aux données du champ, juste avant qu'elles ne soient écrites dans le tampon de l'enregistrement en cours. La propriété EditMask permet la validation des données saisies, caractère par caractère, au fur et à mesure qu'elles sont saisies par l'utilisateur. OnValidate permet à une application de valider globalement les données.

Quand la valeur d'un composant champ est assignée par du code, la validation par EditMask est contournée puisqu'il n'y a pas de contrôle orienté données pour vérifier le respect du masque. OnValidate permet à une application de valider ces données avant qu'elles ne soient validées dans la table de la base de données.

Pour refuser la valeur en cours du champ dans le gestionnaire d'événement OnValidate, déclenchez une exception.

Lors de l'écriture de la valeur d'un champ dans le tampon de l'enregistrement en cours, la séquence suivante a lieu :

  1. Le gestionnaire d'événement OnValidate est appelé pour valider les données.
  2. Si le gestionnaire d'événement OnValidate ne déclenche pas d'exception, les données sont écrites dans le tampon d'enregistrement en cours.
  3. Si l'écriture des données ne déclenche pas d'exception, le gestionnaire d'événement OnChange est appelé pour permettre de répondre aux modifications.
Remarque: OnValidate n'est pas déclenché si TDataSet.State = dsSetKey ou TDataSet.State = dsFilter.

OnValidate est un type de gestionnaire d'événement Data.DB.TFieldNotifyEvent.

Attention: OnValidate n'est pas pris en charge pour les champs BLOB.

Voir aussi