PowerTools InputMan for Windows Forms 8.0J > InputManの使い方 > 検証コンポーネント > タイムスパン検証コンポーネント |
タイムスパン検証コンポーネント(GcTimeSpanValidator)は、入力値の検証とその検証結果を表示する通知機能をタイムスパンコントロール(GcTimeSpan)に拡張するコンポーネントです。
本項では、タイムスパン検証コンポーネントに用意された検証アイテムの種類とその設定方法について解説します。なお、検証アイテムはデザイン画面からの設定も可能ですが、ここではコードによる設定方法を紹介しています。 デザイン画面での設定方法については「検証機能と設定方法」を参照してください。また、エラーの通知方法や不正値の処理の設定方法については「検証アクション」を参照してください。
GcTimeSpanValidator.CompareValue オブジェクト は、指定するタイムスパンの値と値を比較検証します。
Imports GrapeCity.Win.Editors ' 検証アイテムを作成します。 Dim GcTimeSpanCompareValue1 As New GcTimeSpanValidator.CompareValue() ' 比較する値を設定します。 GcTimeSpanCompareValue1.ComparedValue = TimeSpan.Parse("1.00:00:00") ' 比較方法を設定します。 GcTimeSpanCompareValue1.ComparedOperator = ComparedOperator.GreaterThan GcTimeSpanCompareValue1.DifferenceValue = TimeSpan.Parse("0:00:00") ' エラーメッセージを設定します。 GcTimeSpanCompareValue1.InvalidMessage = "1時間より大きい値を入力してください。" ' GcTimeSpan1に作成した検証アイテムを設定します。 GcTimeSpanValidator1.GetValidateItems(GcTimeSpan1).AddRange(New Object() {GcTimeSpanCompareValue1})
using GrapeCity.Win.Editors; // 検証アイテムを作成します。 GcTimeSpanValidator.CompareValue gcTimeSpanCompareValue1 = new GcTimeSpanValidator.CompareValue(); // 比較する値を設定します。 gcTimeSpanCompareValue1.ComparedValue = TimeSpan.Parse("1.00:00:00"); // 比較方法を設定します。 gcTimeSpanCompareValue1.ComparedOperator = ComparedOperator.GreaterThan; gcTimeSpanCompareValue1.DifferenceValue = TimeSpan.Parse("0:00:00"); // エラーメッセージを設定します。 gcTimeSpanCompareValue1.InvalidMessage = "1時間より大きい値を入力してください。"; // gcTimeSpan1に作成した検証アイテムを設定します。 gcTimeSpanValidator1.GetValidateItems(gcTimeSpan1).AddRange(new Object[] { gcTimeSpanCompareValue1 });
GcTimeSpanValidator.CompareControl オブジェクトは、対象となるコントロールの値とタイムスパンを比較検証します。
Imports GrapeCity.Win.Editors ' 検証アイテムを作成します。 Dim GcTimeSpanCompareControl1 As New GcTimeSpanValidator.CompareControl() ' 比較対象のコントロールを指定します。 GcTimeSpanCompareControl1.ComparedControl = GcTimeSpan2 ' 比較方法を設定します。 GcTimeSpanCompareControl1.ComparedOperator = ComparedOperator.GreaterThan GcTimeSpanCompareControl1.DifferenceValue = TimeSpan.Parse("0:00:00") ' エラーメッセージを設定します。 GcTimeSpanCompareControl1.InvalidMessage = "期間1で設定した値より大きい値を入力してください。" ' GcTimeSpan1に作成した検証アイテムを設定します。 GcTimeSpanValidator1.GetValidateItems(GcTimeSpan1).AddRange(New Object() {GcTimeSpanCompareControl1})
using GrapeCity.Win.Editors; // 検証アイテムを作成します。 GcTimeSpanValidator.CompareControl gcTimeSpanCompareControl1 = new GcTimeSpanValidator.CompareControl(); // 比較対象のコントロールを指定します。 gcTimeSpanCompareControl1.ComparedControl = gcTimeSpan2; // 比較方法を設定します。 gcTimeSpanCompareControl1.ComparedOperator = ComparedOperator.GreaterThan; gcTimeSpanCompareControl1.DifferenceValue = TimeSpan.Parse("0:00:00"); // エラーメッセージを設定します。 gcTimeSpanCompareControl1.InvalidMessage = "期間1で設定した値より大きい値を入力してください。"; // gcTimeSpan1に作成した検証アイテムを設定します。 gcTimeSpanValidator1.GetValidateItems(gcTimeSpan1).AddRange(new object[] {gcTimeSpanCompareControl1});
GcTimeSpanValidator.InvalidRange オブジェクトは、入力された値が、指定したタイムスパンの範囲内の値かどうかを検証します。
範囲検証を行う場合、検証対象のタイムスパンコントロールは以下のいずれかの設定を行う必要があります。
タイムスパンコントロールのプロパティを使用して入力可能な時刻範囲を設定する方法については、タイムスパンコントロールの「入力の制御」を参照してください。 |
Imports GrapeCity.Win.Editors ' 検証アイテムを作成します。 Dim GcTimeSpanInvalidRange1 As New GcTimeSpanValidator.InvalidRange() ' 0 〜 1時間の範囲の値を入力できます。 GcTimeSpanInvalidRange1.MaxValue = TimeSpan.Parse("1.00:00:00") GcTimeSpanInvalidRange1.MinValue = TimeSpan.Parse("00:00:00") ' エラーメッセージを設定します。 GcTimeSpanInvalidRange1.InvalidMessage = "0 〜 1時間 の範囲の値を入力できます。" ' GcTimeSpan1に作成した検証アイテムを設定 します。 GcTimeSpanValidator1.GetValidateItems(GcTimeSpan1).AddRange(New Object() {GcTimeSpanInvalidRange1})
using GrapeCity.Win.Editors; // 検証アイテムを作成します。 GcTimeSpanValidator.InvalidRange gcTimeSpanInvalidRange1 = new GcTimeSpanValidator.InvalidRange(); // 0 〜 1時間の範囲の値を入力できます。 gcTimeSpanInvalidRange1.MaxValue = TimeSpan.Parse("1.00:00:00"); gcTimeSpanInvalidRange1.MinValue = TimeSpan.Parse("00:00:00"); // エラーメッセージを設定します。 gcTimeSpanInvalidRange1.InvalidMessage = "0 〜 1時間 の範囲の値を入力できます。"; // gcTimeSpan1に作成した検証アイテムを設定 gcTimeSpanValidator1.GetValidateItems(gcTimeSpan1).AddRange(new object[] {gcTimeSpanInvalidRange1});
GcTimeSpanValidator.InvalidValueは、コントロールに入力された値がタイムスパンの値として有効かどうかを検証します。
Imports GrapeCity.Win.Editors ' 検証アイテムを作成します。 Dim GcTimeSpanInvalidValue1 As New GcTimeSpanValidator.InvalidValue() ' エラーメッセージを設定します。 GcTimeSpanInvalidValue1.InvalidMessage = "入力された値が不正です。" ' GcTimeSpanに作成した検証アイテムを設定します。 GcTimeSpanValidator1.GetValidateItems(GcTimeSpan1).AddRange(New Object() {GcTimeSpanInvalidValue1})
using GrapeCity.Win.Editors; // 検証アイテムを作成します。 GcTimeSpanValidator.InvalidValue gcTimeSpanInvalidValue1 = new GcTimeSpanValidator.InvalidValue(); // エラーメッセージを設定します。 gcTimeSpanInvalidValue1.InvalidMessage = "入力された値が不正です。"; ' // gcTimeSpan1に作成した検証アイテムを設定します。 gcTimeSpanValidator1.GetValidateItems(gcTimeSpan1).AddRange(new object[] {gcTimeSpanInvalidValue1});