PowerTools InputMan for Windows Forms 8.0J > InputManの使い方 > 検証コンポーネント > 日付時刻検証コンポーネント |
日付時刻検証コンポーネント(GcDateTimeValidator)は、入力値の検証とその検証結果を表示する通知機能を日付時刻コントロール(GcDateTime)に拡張するコンポーネントです。
本項では、日付時刻検証コンポーネントに用意された検証アイテムの種類とその設定方法について解説します。なお、検証アイテムはデザイン画面からの設定も可能ですが、ここではコードによる設定方法を紹介しています。 デザイン画面での設定方法については「検証機能と設定方法」を参照してください。また、エラーの通知方法や不正値の処理の設定方法については「検証アクション」を参照してください。
GcDateTimeValidator.CompareValue オブジェクト は、指定する日付値と値を比較検証します。
Imports GrapeCity.Win.Editors ' 検証アイテムを作成します。 Dim GcDateTimeCompareValue1 As New GcDateTimeValidator.CompareValue() ' 比較する値を設定します。 GcDateTimeCompareValue1.ComparedValue = DateTime.Parse("2015/10/1 0:00:00") ' 比較方法を設定します。 GcDateTimeCompareValue1.ComparedOperator = ComparedOperator.GreaterThan GcDateTimeCompareValue1.DifferenceValue = TimeSpan.Parse("0:00:00") ' エラーメッセージを設定します。 GcDateTimeCompareValue1.InvalidMessage = "2015/10/1 0:00:00より大きい値を入力してください。" ' GcDateTime1に作成した検証アイテムを設定します。 GcDateTimeValidator1.GetValidateItems(GcDateTime1).AddRange(New Object() {GcDateTimeCompareValue1})
using GrapeCity.Win.Editors; // 検証アイテムを作成します。 GcDateTimeValidator.CompareValue gcDateTimeCompareValue1 = new GcDateTimeValidator.CompareValue(); // 比較する値を設定します。 gcDateTimeCompareValue1.ComparedValue = DateTime.Parse("2015/10/1 0:00:00"); // 比較方法を設定します。 gcDateTimeCompareValue1.ComparedOperator = ComparedOperator.GreaterThan; gcDateTimeCompareValue1.DifferenceValue = TimeSpan.Parse("0:00:00"); // エラーメッセージを設定します。 gcDateTimeCompareValue1.InvalidMessage = "2015/10/1 0:00:00より大きい値を入力してください。"; // gcDateTime1に作成した検証アイテムを設定 gcDateTimeValidator1.GetValidateItems(gcDateTime1).AddRange(new Object[] { gcDateTimeCompareValue1 });
GcDateTimeValidator.CompareControl オブジェクトは、対象となるコントロールの値と日付を比較検証します。
Imports GrapeCity.Win.Editors ' 検証アイテムを作成します。 Dim GcDateTimeCompareControl1 As New GcDateTimeValidator.CompareControl() ' 比較対象のコントロールを指定します。 GcDateTimeCompareControl1.ComparedControl = GcDateTime2 ' 比較方法を設定します。 GcDateTimeCompareControl1.ComparedOperator = ComparedOperator.GreaterThan GcDateTimeCompareControl1.DifferenceValue = TimeSpan.Parse("0:00:00") ' エラーメッセージを設定します。 GcDateTimeCompareControl1.InvalidMessage = "開始日で設定した日付より後の日付を入力してください。" ' GcDateTime1に作成した検証アイテムを設定します。 GcDateTimeValidator1.GetValidateItems(GcDateTime1).AddRange(New Object() {GcDateTimeCompareControl1})
using GrapeCity.Win.Editors; // 検証アイテムを作成します。 GcDateTimeValidator.CompareControl gcDateTimeCompareControl1 = new GcDateTimeValidator.CompareControl(); // 比較対象のコントロールを指定します。 gcDateTimeCompareControl1.ComparedControl = gcDateTime2; // 比較方法を設定します。 gcDateTimeCompareControl1.ComparedOperator = ComparedOperator.GreaterThan; gcDateTimeCompareControl1.DifferenceValue = TimeSpan.Parse("0:00:00"); // エラーメッセージを設定します。 gcDateTimeCompareControl1.InvalidMessage = "開始日で設定した日付より後の日付を入力してください。"; // gcDateTime1に作成した検証アイテムを設定します。 gcDateTimeValidator1.GetValidateItems(gcDateTime1).AddRange(new object[] {gcDateTimeCompareControl1});
GcDateTimeValidator.InvalidRange オブジェクトは、入力された値が、指定した日付の範囲内の値かどうかを検証します。
日付範囲検証を行う場合、検証対象の日付時刻コントロールは以下のいずれかの設定を行う必要があります。
日付時刻コントロールのプロパティを使用して入力可能な日付範囲を設定する方法については、日付時刻コントロールの「入力の制御」を参照してください。 |
Imports GrapeCity.Win.Editors ' 検証アイテムを作成します。 Dim GcDateTimeInvalidRange1 As New GcDateTimeValidator.InvalidRange() ' 2000/1/1 12:00:00 〜 2100/12/31 23:00:00 の範囲の日付を入力できます。 GcDateTimeInvalidRange1.MaxValue = DateTime.Parse("2100/12/31 23:00:00") GcDateTimeInvalidRange1.MinValue = DateTime.Parse("2000/1/1 12:00:00") ' エラーメッセージを設定します。 GcDateTimeInvalidRange1.InvalidMessage = "2000/1/1 12:00:00 〜 2100/12/31 23:00:00 の範囲の日付を入力できます。" ' GcDateTime1に作成した検証アイテムを設定します。 GcDateTimeValidator1.GetValidateItems(GcDateTime1).AddRange(New Object() {GcDateTimeInvalidRange1})
using GrapeCity.Win.Editors; // 検証アイテムを作成します。 GcDateTimeValidator.InvalidRange gcDateTimeInvalidRange1 = new GcDateTimeValidator.InvalidRange(); // 2000/1/1 12:00:00 〜 2100/12/31 23:00:00 の範囲の日付を入力できます。 gcDateTimeInvalidRange1.MaxValue = DateTime.Parse("2100/12/31 23:00:00"); gcDateTimeInvalidRange1.MinValue = DateTime.Parse("2000/1/1 12:00:00"); // エラーメッセージを設定します。 gcDateTimeInvalidRange1.InvalidMessage = "2000/1/1 12:00:00 〜 2100/12/31 23:00:00 の範囲の日付を入力できます。"; // gcDateTime1に作成した検証アイテムを設定します。 gcDateTimeValidator1.GetValidateItems(gcDateTime1).AddRange(new object[] {gcDateTimeInvalidRange1});
GcDateTimeValidator.InvalidValue オブジェクトは、コントロールに入力された値が日付として有効かどうかを検証します。
Imports GrapeCity.Win.Editors ' 検証アイテムを作成します。 Dim GcDateTimeInvalidValue1 As New GcDateTimeValidator.InvalidValue() ' エラーメッセージを設定します。 GcDateTimeInvalidValue1.InvalidMessage = "入力された値が不正です。" ' GcDateTimeに作成した検証アイテムを設定します。 GcDateTimeValidator1.GetValidateItems(GcDateTime1).AddRange(New Object() {GcDateTimeInvalidValue1})
using GrapeCity.Win.Editors; // 検証アイテムを作成します。 GcDateTimeValidator.InvalidValue gcDateTimeInvalidValue1 = new GcDateTimeValidator.InvalidValue(); // エラーメッセージを設定します。 gcDateTimeInvalidValue1.InvalidMessage = "入力された値が不正です。"; // gcDateTime1に作成した検証アイテムを設定します。 gcDateTimeValidator1.GetValidateItems(gcDateTime1).AddRange(new object[] {gcDateTimeInvalidValue1});