各入力画面について、チェック処理および入力支援機能を導入します。

Wagbyはすべての入力項目で「入力フィルタ」機能が有効になっています。例えば半角カナ文字の入力はすべて全角カナ文字に変換されたのちにデータベースに格納されるようになっています。

この機能によってデータの「入力ゆれ」がなくなり、統一のとれたデータが蓄積されるようになります。検索精度も向上します。

図1 入力フィルタの設定

しかしこの機能は問題を引き起こすこともあります。例えば同じテーブルを外部システムからも参照している場合や、Wagbyで入力したデータを外部システムに渡す際に、フィルタによって変換された文字では齟齬が生じるという場合です。

このような場合は入力フィルタの機能を「最小限」としてください。

Wagbyはさまざまな入力チェック機能を部品化しています。これらを有効にするという設定を行っていきます。 いくつかの入力チェックはリアルタイムで行われます。

図2 リアルタイム入力チェックの例
チェック機能 説明
正規表現 正規表現式を使って、登録を許可する文字列パターンを指定することができます。
必須 必須チェックは必ず入力させる方式と、警告表示に留める方式があります。
禁止文字列 登録を許可しない文字列(禁止文字列)を指定することができます。
文字数 入力文字数をチェックする方法を説明します。
同一項目値 二つの項目が同値かどうかを判定します。例えばメールアドレスを入力させる際に「確認用の入力欄」を設けたい場合などに、この機能を使うことができます。
範囲 数値型、日付型は入力可能な範囲を指定することができます。
他項目比較 数値型と日付型項目について、ある項目の値が(同じモデル内の)別の項目の値よりも「大きい」「小さい」といった制約条件を指定することができます。
ユーザ定義 任意の式を用いて、オリジナルの入力チェックを行うことができます。エラーとなった場合のメッセージも記述することができます。
許容文字種 許容文字種で指定した文字のみで構成されるかチェックすることができます。例えばカタカナと空白以外は入力エラーとする、といった設定を行うことができます。

ユーザ定義で「式」を記述できる

ユーザ定義チェックでは、Wagbyが提供する式および関数を使って判定処理を記述できます。例えば項目 salesvalue は 1000 より大きな値であること、そうでなければエラーとするという場合、次のように記述します。

VALUE(${salesvalue}) > 1000

式の利用により、設計情報だけで(カスタマイズなしに)さまざまなチェックを実現することができます。

以下の例は、条件に合致した場合に入力不可にするという設定です。

図3 原因項目の入力が不可能になる

他にも「最大入力文字数の指定」や「Enterキーの取り扱い」といった、さまざまな入力支援機能を用いることができます。

設定した入力チェックや入力支援機能が動作することを確認します。

なおWagbyの標準機能で実現できない入力チェックや入力支援の振る舞いが求められる場合、カスタマイズテーマとして記録しておきます。

ここまでの設計を行うために求められるWagbyのスキルは次のとおりです

次章は画面レイアウトの設計に進みます。現場の業務担当者を交えたレビューの段階に入ります。