Data.DB.TField.OnValidate
Delphi
property OnValidate: TFieldNotifyEvent read FOnValidate write FOnValidate;
C++
__property TFieldNotifyEvent OnValidate = {read=FOnValidate, write=FOnValidate};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | published | Data.DB.pas Data.DB.hpp |
Data.DB | TField |
説明
データがレコード バッファに書き込まれる直前に発生します。
OnValidate イベント ハンドラを記述すると、データが現在のレコード バッファに書き込まれる直前に、フィールド内のデータへの変更を検証することができます。 EditMask プロパティにより、ユーザーが入力している間に、一文字毎、文字についてのデータの検証を行うことができます。 OnValidate により、アプリケーションはデータ全体を検証することができます。
フィールド コンポーネントの値がプラグラムで割り当てられる場合、マスクへの準拠を強制するデータ対応コントロールはないので、EditMask による検証は飛ばされてしまいます。 OnValidate により、アプリケーションは、そのようなデータも、データベース テーブルに送られる前に検証することができるようになります。
フィールドの現在値を OnValidate イベント ハンドラが拒否する場合には、例外を発生させます。
現在のレコード バッファへフィールドの値をを書き込む際、次の処理が発生します:
- OnValidate イベント ハンドラが呼び出され、データを検証。
- OnValidate イベント ハンドラが例外を発生させない場合、データをレコード バッファへ書き込み。
- データ書き込で例外が発生しなければ、OnChange イベント ハンドラが呼び出され、変更への応答が許可される。
- メモ: TDataSet.State =
dsSetKey
または TDataSet.State =dsFilter
の場合、OnValidate は発生しません。
OnValidate は、Data.DB.TFieldNotifyEvent 型のイベント ハンドラです。