Data.DB.TField.OnValidate
Delphi
property OnValidate: TFieldNotifyEvent read FOnValidate write FOnValidate;
C++
__property TFieldNotifyEvent OnValidate = {read=FOnValidate, write=FOnValidate};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
event | published | Data.DB.pas Data.DB.hpp |
Data.DB | TField |
Beschreibung
Wird direkt vor dem Schreiben der Daten in den Datensatzpuffer ausgelöst.
Mit einer OnValidate-Ereignisbehandlungsroutine können Sie die Änderungen der Felddaten überprüfen, bevor die Daten in den Datensatzpuffer geschrieben werden. Während der Eingabe von Daten durch den Benutzer können diese mit Hilfe der Eigenschaft EditMask zeichenweise geprüft werden. Eine Anwendung kann mit OnValidate die Daten insgesamt prüfen.
Wird einer Feldkomponente programmseitig ein Wert zugewiesen, wird die Prüfung durch EditMask umgangen, da kein datensensitives Steuerelement vorhanden ist, das die Berücksichtigung der Maske erzwingt. In Anwendungen können solche Daten mit OnValidate vor dem Eintragen in die Datenbanktabelle geprüft werden.
Um den aktuellen Feldwert zu verwerfen, sollte die Ereignisbehandlungsroutine OnValidate eine Exception auslösen.
Folgende Schritte werden ausgeführt, wenn ein Feldwert in den aktuellen Datensatzpuffer geschrieben wird:
- Die Ereignisbehandlungsroutine OnValidate wird zur Prüfung der Daten aufgerufen.
- Wenn die Ereignisbehandlungsroutine OnValidate keine Exception auslöst, werden die Daten in den aktuellen Datensatzpuffer geschrieben.
- Wenn das Schreiben der Daten keine Exception auslöst, wird die Ereignisbehandlungsroutine OnChange aufgerufen. Damit kann auf die durchgeführten Änderungen reagiert werden.
- Hinweis: OnValidate wird nicht ausgelöst, wenn TDataSet.State =
dsSetKey
oder TDataSet.State =dsFilter
.
OnValidate ist eine Ereignisbehandlungsroutine mit dem Typ Data.DB.TFieldNotifyEvent.