サポート > Wagby定義ファイル > 3 入力方式 > 正規表現チェック

登録を許可する文字列をチェックすることができます。警告するが登録は可能、という設定もできます。

正規表現チェックを行う

正規表現チェックを有効にするためには、「正規表現チェック」の左側のセルに、正規表現を示す文字列を設定します。 (何も設定していなければチェックは行われません。) Webアプリケーションは、入力された文字列が正規表現とマッチしない場合、エラーメッセージを表示します。


図1 正規表現チェック

例えば時間(「5:00AM」など)のみ登録を許す場合は、正規表現として「(1[012]|[1-9]):([0-5][0-9]) ?(am|pm|AM|PM)」と設定します。


図2 正規表現の設定例(セルの内容は展開され表示されています。)

生成したWebアプリケーションは、入力された項目に対して正規表現チェックを行います。 正規表現にマッチしない場合はエラーメッセージを表示します。 図3の例では、「5:00 ZM」と入力されたため、Webアプリケーションがエラーメッセージを表示しています。


図3 エラーメッセージ例
正規表現が正しくない場合でも、Webアプリケーションのビルドは行われます。 このWebアプリケーションは、正規表現チェックに失敗しますが、エラーメッセージを表示せず、そのままデータの登録を行います。 このときログファイル wagbyapp¥logs¥system.logに以下のようなメッセージが出力されます。

2007-08-03 18:11:59 [WARN jp.jasminesoft.wagby.app.hoge.HogePHelper

 input_check] illegal syntax pattern, Unclosed group near index 41

(1[012]|[1-9]):([0-5][0-9]) ?(am|pm|AM|PM

                                         ^

警告を出すが、登録を許可する

「正規表現チェック」の右側のセルで「警告」を設定すると、Webアプリケーションは項目が正規表現にマッチしない場合、警告を表示しますが、再度「保存」ボタンをクリックすると、データを登録します。


図4 正規表現チェックの警告設定

図5 正規表現チェックの警告メッセージ

正規表現の記述例

正規表現チェックで使える正規表現の例を以下に示します。

正規表現のルールはJavaで使用されるもの に従います。
  • [0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}

    クレジットカード番号にマッチします。例えば「1234-5678-9012-3456」にマッチします。

  • [0-9]{3}-[0-9]{4}

    郵便番号にマッチします。例えば「904-2234」にマッチします。

  • [0-9]{3}-[0-9]{3}-[0-9]{4}

    電話番号にマッチします。例えば「098-921-1588」にマッチします。

エラーメッセージ

正規表現式による入力チェックを指定した場合、利用者はエラーメッセージをみても「どう直せばいいか」がわかりにくいことがあります。 運用上の回避策として、正規表現式を用いるときは、同時に項目のヘルプを指定することを推奨します。

関連ページ