事前検証は、入力された文字列自体を検証します。つまり、解析する前の文字列に規則が適用されます。
DateEdit では、PreValidation プロパティを使用して入力文字列の事前検証を制御できます。コントロールには、次に示すように、さまざまな事前検証オプションが用意されています。
- 大文字小文字を区別した比較:文字列比較で大文字小文字を区別できます。大文字小文字を区別した比較を有効にするには、CaseSensitive プロパティを true に設定します。
- 検証パターン:検証パターン(規則)を含む文字列を指定できます。検証パターンを指定するには、PatternString プロパティを設定します。PatternString で項目セパレータを使用することで、複数の規則や部分文字列を指定できます。DateEdit では、複数の文字列の項目セパレータとして、デフォルトで「|」がサポートされています。ただし、ItemSeparator プロパティを設定することで、項目セパレータを変更できます。
-
検証方法:検証方法を指定できます。検証方法を指定するには、Validation プロパティを PreValidationTypeEnum に含まれる次の値のいずれかに設定します。
- ExactList:PatternString には、有効な値が ItemSeparator で区切って指定されます。
- PreValidatingEvent:検証には PreValidating イベントが使用されます。
- Wildcards:PatternString には、ワイルドカードパターンが ItemSeparator で区切って指定されます。パターン内では、?(任意の 1 文字)、#(任意の 1 桁)、*(0 個以上の文字)、\(エスケープ)の各文字が予約されています。また、PreValidation プロパティを使用して、カスタムパターン文字を定義することもできます。
- RegexPattern:PatternString には、正規表現が指定されます。
- エラーメッセージ:入力文字列が検証パターンと一致しない場合に表示されるメッセージを設定できます。エラーメッセージを設定するには、ErrorMessage プロパティを設定します。
次の図に、検証エラーメッセージが表示された DateEdit コントロールを示します。
次のコードスニペットは、さまざまなプロパティを設定して、DateEdit で事前検証を適用する方法を示します。