'宣言 Public Class UltraValidator Inherits Infragistics.Win.UltraComponentBase Implements Infragistics.Shared.IUltraComponent, Infragistics.Win.IUltraValidator
public class UltraValidator : Infragistics.Win.UltraComponentBase, Infragistics.Shared.IUltraComponent, Infragistics.Win.IUltraValidator
UltraValidator コンポーネントは宣言的に最も一般的な検証問題を解決する機能を提供します。数が既定の範囲に入る、またはテキスト フィールドが空でない、または郵便番号、電子メール アドレス、または電話番号の文字パターンに適合することを保証するなど一般的な検証シナリオで、開発者はいかなるコードも記述する必要はありません。コンポーネントによって拡張されるデザイナー サポートは、これらの一般的な解決の実装に適しています。
UltraValidator コンポーネントは、IExtenderProvider インターフェイスを介して、機能をすべての Windows Forms コントロールに拡張します。このインターフェイスは「エクステンダー プロパティ」を提供するために Visual Studio によって利用されます。UltraValidator コンポーネントがデザイン モードでインスタンス化される時に、ValidationSettings インスタンスはフォーム上のあらゆるコントロールに拡張されます。このオブジェクトはコンポーネントによって提供されるほとんどの検証機能をカプセル化します。各コントロールは個別のインスタンスを使用するため、検証のほとんどの側面はコントロール単位でカスタマイズ可能です。embeddable editors の検証が対応されます。editor provider コントロール (UltraTextEditor または UltraComboEditor) への参考を UItraGridColumn または UltraTreeNodeColumn の EditorControl プロパティを設定し、エディター プロバイダーに拡張された ValidationSettings インスタンスを使用することによって、グリッド/ツリーの検証の動作をカスタマイズできます。
検証基準は、オブジェクトのプロパティを使用して指定されます。求められるフィールド条件は IsRequired プロパティを True に設定することにより強制できます。値は EmptyValueCriteria プロパティを使用して検証されます。null または空になるようにその定義によって値が決定される場合、検証は失敗し、ValidationError イベントを発生させることになります。値が既定の範囲内に入るかどうかなど、より複雑な検証基準を指定するために Condition プロパティが使用されます。プロパティはタイプ ICondition で、UltraGrid コントロールの行フィルタリングの問題を解決するために作成されたインターフェイスです。インターフェイスは 1 つのメソッド、Matches のみしか公開しません。これは値が条件によって定義された基準を満たすかどうかを示すブール値を返します。検証が発生すると、このメソッドが呼び出され、その戻り値は検証が成功するか失敗するかを決定します。このプロパティに割り当てることができる Infragistics フレームワークで定義されたコンクリート実装がいくつかあります (Infragistics.Win.OperatorCondition、Infragistics.Win.RangeCondition、Infragistics.Win.ContainedInListCondition、Infragistics.Win.ConditionGroup を参照)。最も一般的な検証の問題はこれらのクラスのいずれかのインスタンスで解決できます。ビジネス ロジック層によって定義されるシナリオなど、より複雑な検証シナリオでは、ICondition インターフェイスのカスタム実装を指定できます。
UltraValidator コンポーネントは検証の失敗をユーザーに警告するためにいくつかの異なる種類の通知を提供します。デフォルトで、検証されたコントロールの右端の横にエラー画像が表示されます。これはカーソルが画像上にホバーされるとバルーン チップを表示します。Iconの表示をサポートするだけの ErrorProvider コンポーネントと異なり、UltraValidator は完全または部分的な透明度に対する完全なサポートともに画像を表示する機能を提供します。あるいは、MessageBox またはバルーン チップを表示する、またはサウンドを再生することができます。検証エラーはかんたんに表示されるのに (Infragistics の標準な appearance モデルを使用することによって) ErrorAppearance が提供されます。