Tools〈開発支援ツール〉の、製品のTIPSや発売などに関する最新情報をお届けします。Formsツイートアプリケーションを利用するユーザーごとにIDとパスワードを登録してアカウントの管理を行う場合、アプリケーションの管理者側としては、「123456」や「abcdef」のような簡単な文字列ではなく、様々な文字種を組み合わせ、なるべく推測されにくいパスワードを登録させたいところでしょう。Forms」(以下、InputMan)の検証コンポーネントを使用して、登録フォームに入力されたパスワードがこれらの条件を満たすかどうかの検証処理をノンコーディングで実装する方法をご紹介します。汎用検証コンポーネントを配置するInputManでは、入力されたデータの検証機能とエラー通知をノンコーディングで実装すための検証コンポーネントを提供しています。検証コンポーネントには、数値、日付など特定の入力データの形式に特化した専用の検証コンポーネントも用意されていますが、今回は様々な入力チェックを行うことができる、「汎用検証コンポーネント」を使用します。フォームにツールボックスから汎用検証コンポーネント「GcCommonValidator」をドロップします。(ツールボックスに表示されない場合はこちらの手順を行ってください。)ドロップすると、デザイナの下部に追加された汎用検証コンポーネントが表示されます。あとは実際にパスワードを入力するテキストボックスなどを配置し、登録フォームをデザインします。InputManの汎用検証コンポーネントは、「GcTextBox」のようなInputManの入力コントロールだけでなく、.NET標準のテキストボックスにも適用可能です。今回は標準のテキストボックスに適用してみます。フォーム上にテキストボックスとGcCommonValidatorを配置すると、GcCommonValidatorはテキストボックスの拡張機能として利用できるようになります。検証アイテムの設定テキストボックスに対して検証アイテムを設定し、検証時に入力値の有効無効を判断する検証条件を定義します。検証アイテムはテキストボックスのプロパティから設定するほか、デザイナ上でテキストボックス右上のアイコンをクリックすると表示されるスマートダイアログからも設定できます。表示された「検証アイテムの編集」ダイアログから「追加」を選択し、検証アイテムを設定します。長さ、の3種類の検証アイテムによる検証を行います。)が含まれているかを検証します文字種(CharFormat)指定した文字以外の文字が使用されていないかを検証します文字列の長さ(TextLength)パスワードの長さが8文字以上、12文字以内かを検証します上述のパスワードの要件に対して検証処理を定義するには、正規表現×4、文字種×1、文字列の長さ×1の合計6つの検証アイテムを定義します。定義の内容は以下の通りです。正規表現(RegularExpression)1つ目:英大文字検証用Expression:[A-Z]InvalidMessage:英大文字を含めてください。2つ目:英小文字検証用Expression:[a-z]InvalidMessage:英小文字を含めてください。3つ目:数字検証用Expression:[0-9]InvalidMessage:数字を含めてください。4つ目:記号検証用Expression:[!#$%&()=-+*/@<>?]InvalidMessage:記号を含めてください。文字種(CharFormat)Format:Aa9@^\"'^~\\|[{;:]},._`注意:上記はC#での設定例です。VB.NETの場合はエスケープの記号が異なるのでご注意ください。InvalidMessage:指定された文字以外が含まれています。8InvalidMessage:8文字以上、12文字以内で入力してください。すべて登録するとこのようになります。次にテキストボックスに対して検証アクションを設定し、入力値を検証した結果、検証エラーとなった場合にどのようなアクションをとるかを定義します。今回は、3段階のアイコンによる通知を行う「ThreeStateIconNotifyオブジェクト」を使用します。検証アイテムと同じ要領で、「ThreeStateIconNotify」の検証アクションを追加します。各種プロパティはデフォルトの設定のまま使用します。今回はエラー通知のみ定義しましたが、この他にも「FocusProcess」の検証アクションを使用し、エラーが発生しているパスワード用のテキストボックスからフォーカスが移動できないようにするなど、様々な制御を定義できます。詳細は「検証アクション」をご覧ください。以上で設定は完了となるので、早速実行してみたいと思います。通常テキストボックスに入力されたパスワード文字は、PasswordCharプロパティ等を使用し、文字列をマスクして伏字にすることが多いですが、今回は何の文字列が入力されたかわかるように、入力文字をそのまま見せて実行します。許可されていない記号である「"^_\」などを入力し、Tabキーなどでフォーカスを移動すると検証処理が実行されます。文字種の組み合わせはあっているけど、文字列の長さが足りない場合なども正常に検証できています。正しいフォーマットで入力できた場合は緑色のアイコンが表示されます。入力値の有効/無効を視覚的にユーザーにわかりやすく通知できます。InputManを使用すれば、今回のパスワードのような複雑な検証処理のほかにも、入力文字の制限や補助など様々な機能をノンコーディングで実装することができます。製品Webサイトでは、InputManが提供する主要な機能を実際に自分のマシン上で実行して試せるデモアプリケーションも公開しています。こちらも一度お試しいただければと思います。Tools〈開発支援ツール〉の情報発信メディア「GrapeCity.devlog」です。製品のTIPSや発売情報、イベントのお知らせなどを中心に、さまざまな最新情報をいち早くお届けします。Toolsについてスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。