FMX.Edit.TEdit.OnValidate
Delphi
property OnValidate: TValidateTextEvent read GetOnValidate write SetOnValidate;
C++
__property OnValidate;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | published | FMX.Edit.pas FMX.Edit.hpp |
FMX.Edit | TEdit |
説明
ユーザーが〔Enter〕キーを押すか、コントロールからフォーカスが離れた場合に、発生します。
FMX.Edit.TEdit.OnValidate は FMX.Edit.TCustomEdit.OnValidate を継承しています。以下の内容はすべて FMX.Edit.TCustomEdit.OnValidate を参照しています。
ユーザーが〔Enter〕キーを押すか、コントロールからフォーカスが離れた場合に、発生します。
OnValidate イベント ハンドラを記述すると、テキストを実際に変更する前に、ユーザーが編集コントロールに入力した編集内容を検証することができます。OnValidate イベント ハンドラは渡されたテキストを検証することができ、もしそれが許容外のものであった場合、エラーまたは警告のメッセージを返すことができます。
サンプル コード
分かりやすくなるよう、次のような場合を考えてみましょう。 アプリケーションで、mycompany.com ドメインからのユーザー E メール アドレス(例、John.Doe@mycompany.com)を入力するための、テキスト編集ボックスを用意します。ユーザーが、"mydomain.com" サブ文字列で終わらないテキストを入力した場合、アプリケーションは編集コントロールにエラー メッセージを表示します。
このシナリオでは、次の OnValidate イベント ハンドラを実装することができます。
Delphi:
procedure TForm1.Edit1Validate(Sender: TObject; var Text: string);
begin
if not EndsText('mycompany.com', Text) then
Text := 'Invalid email!'
end;
C++Builder:
void __fastcall TForm1::Edit1Validate(TObject *Sender, UnicodeString &Text)
{
if (!EndsText("mycompany.com", Text)) { Text = "Invalid email!";
}
}
メモ: これらのコード スニペットでは、System.StrUtils.EndsText ルーチンを使用します。