FMX.Edit.TCustomEdit.OnValidating
Delphi
property OnValidating: TValidateTextEvent read GetOnValidating write SetOnValidating;
C++
__property Fmx::Text::TValidateTextEvent OnValidating = {read=GetOnValidating, write=SetOnValidating};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | public | FMX.Edit.pas FMX.Edit.hpp |
FMX.Edit | TCustomEdit |
説明
シンボルを入力、または、フォーカスがこの編集コントロールからシフトで離れた場合に、発生します。
OnValidating イベント ハンドラを記述すると、ユーザーがコントロール編集に情報を入れると、その編集内容を即座に検証することができます。OnValidating イベント ハンドラは渡されたテキストを検証することができ、もしそれが許容外のものであった場合、エラーまたは警告のメッセージを返すことができます。
例
分かりやすくなるよう、次のような場合を考えてみましょう。 アプリケーションは、E メール アドレスを入力するよう設計されたテキスト編集ボックスを用意するとします。ユーザーが空文字または @ サブ文字列を入力した場合、OnValidating イベント ハンドラは、その編集コントロールの隣に感嘆符マークを表示させます。このアイコンはユーザーに、現在のシンボルが、E メール アドレスには不適切であることを知らせます。
メモ: 最初の時点では、感嘆符アイコンは表示されていません。OnValidating イベント ハンドラは、入力エラーが発生すると、TImage.Visible プロパティを
True
に設定します。
このシナリオでは、次の OnValidating イベント ハンドラを実装することができます。
Delphi:
procedure TForm1.Edit1Validating(Sender: TObject; var Text: string);
begin
Image1.Visible := Text.Contains(' ') or Text.Contains('@.');
end;
C++Builder:
void __fastcall TForm1::Edit1Validating(TObject *Sender, UnicodeString &Text) {
Image1->Visible = ContainsStr(Text, " ") || ContainsStr(Text, "@.");
}
メモ: ユーザーの入力を処理するには、これらのコード スニペットを使用します:
- C++Builder の場合: System.StrUtils.ContainsStr ルーチン
- Delphi の場合: System.SysUtils.TStringHelper.Contains メソッド