登録を許可しない文字列(禁止文字列)を指定することができます。

禁止文字列として、携帯メールアドレスを指定した例です。

図1 携帯メールアドレスが禁止された例
禁止文字列チェックはリアルタイムでは行われません。保存ボタン押下後にサーバ側でチェックされます。

モデル項目の詳細定義「入力チェック」で、禁止文字列の欄に正規表現式を指定します。

図2 禁止文字列の指定
.*@docomo¥¥.ne¥¥.jp

ここで「¥¥」(半角文字)は、その次の文字「.」が正規表現ではなくピリオド文字として解釈させるためのエスケープ処理です。
Java正規表現について説明しているサイトを紹介します。

禁止文字列の解釈

禁止文字列チェックは登録・更新を禁止する文字列全体を設定するものです。
例えば同設定欄に "&" を設定した場合、当該項目に "&" のみの登録は行えなくなりますが、"A&B&C" のような文字は登録できます。
"&" を含む文字の登録を禁止したい場合は、正規表現で次のように設定してください。

.*&.*

ある文字を含むことを禁止する場合の設定

次の文字を含む入力を禁止する例を説明します。

  • &
  • $
  • "

この3文字を含んだ文字列の登録を禁止する場合、正規表現で次のように設定してください。

.*[&|$|"].*

複数の禁止文字列を指定するときは、各正規表現式をコンマ区切りで列挙します。

.*@docomo¥¥.ne¥¥.jp,.*@ezweb¥¥.ne¥¥.jp,.*@softbank¥¥.ne¥¥.jp
図3 複数の禁止文字列を指定する

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

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

正規表現式が動作しない

ビルドしたWagbyアプリケーションの実行時ログ(logs/system.log)にエラーが出力されていないかどうかを確認ください。ここに "illegal syntax pattern" などの文字列が含まれている場合、式に誤りがあります。

  • このチェックは「保存」などのボタンを押下したタイミングで、サーバ側で行われます。
  • エラーとなった入力項目は、背景が赤となります。テキストボックスまたは日付時刻リストボックスが対象です。
  • 入力対象ではない項目に対する入力チェックを行うことはできません。具体的には計算式で求められる項目や、読み込み専用項目、参照連動項目です。

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