サポート > リポジトリ > 入力チェック > 正規表現チェック

正規表現式を使って、登録を許可する文字列パターンを指定することができます。

電話番号の項目に「数字の4桁-4桁-4桁」というルール(正規表現式)を指定した例を図1に示します。

図1 電話番号の正規表現ルールに合致しなかった

入力文字に文字が含まれているため、エラーになっていることがわかります。

電話番号項目に次の正規表現式を設定した例を図2に示します。

\d{1,4}?-?\d{1,4}?-?\d{1,4}

「d{1,4}」は、1つから4つまでの数字が入ることを意味します。「-?」は、「-」があってもなくてもよいということを意味します。

図2 正規表現式の指定

警告を表示しますが、ここで保存ボタンを押下すると登録自体は妨げないという設定を行う場合は、入力欄右側のリストボックスから「警告」を指定します。(空欄時は、エラーのときは登録できないようになります。)

図3 警告の指定
一覧更新画面(親子モデルにおける、子モデル同時更新画面も含む)では、警告指定は動作しません。

郵便番号型の項目は、自動的に次の式が適用されます。

^\d{1,3}-\d{1,4}$

ただし開発者が明示的に正規表現式を指定した場合は、その式を適用します。

Wagby の標準的な設定では「全角文字のみ入力可能」というルールは実現できません。 許容文字種の設定では全角漢字のチェック、または空白文字(スペース)が半角か全角かのチェックという指定になります。

そこで次のように設定します。

  1. 入力フィルタを「文字列(最小限)」とします。
  2. 次の正規表現式を指定します。
[^\p{ASCII}\uff61-\uff9f]*
  • このチェックはリアルタイムで行われます。(ブラウザのJavaScriptでチェックします。)
  • 入力エラーの状態では「保存」などのボタンを押下することはできません。
  • エラーとなった入力項目は、背景が赤となります。テキストボックスまたは日付時刻リストボックスが対象です。
  • 正規表現式がブラウザのJavaScriptで解釈できない(動作しない)場合、保存ボタン押下後にサーバ側(Java)で処理されます。つまりフォームの値が送信されてからもチェック処理が適用されるという二重チェックとなっています。

リポジトリキーはmodel/modelitem/regexpです。