サポート > リポジトリ > 入力チェック > 文字数チェック

入力文字数をチェックする方法を説明します。

指定したサイズを超えて入力したタイミングで、リアルタイム入力チェックが作動します。(図1,図2)

図1 入力サイズを超えない
図2 入力サイズを超えた

範囲チェックを指定します。例えば4桁の場合「0-9999」と設定してください。

モデル項目の詳細定義にて「入力チェック-文字数チェック」に数値を設定します。

図3 文字数チェックの指定

チェックの単位を設定できます。「char」は文字数で、「byte」は文字を構成するバイト数です。

「char(警告)」および「byte(警告)」を設定すると、入力値が設定した文字数を超えた場合、登録時に警告を表示します。再度「保存」ボタンをクリックすると、登録を行うことができます。

この欄には数字以外の特別表記を指定することができます。

指定方法 記述例 説明
数字のみ 5 最大5文字(6文字ならエラー)
-数字 -5 上記「数字のみ」の記述と同じ
数字- 5- 最小5文字(4文字ならエラー)
数字1-数字2 5-8 最小5文字、最大8文字

文字列型の項目に「文字数チェック」を指定しない場合、テーブル定義上で指定された最大文字数を超えた入力が行われてしまうとデータベースエラーが発生します。

例えば Oracle の場合、標準では文字列型項目に「varchar2(255 char)」が適用されるため、最大文字数は 255 文字です。従って、文字数チェック設定に 255 より小さい数値を指定することで、過入力によるデータベースエラーを回避できるようになります。

  • このチェックはリアルタイムで行われます。(ブラウザのJavaScriptでチェックします。)
  • 入力エラーの状態では「保存」などのボタンを押下することはできません。
  • エラーとなった入力項目は、背景が赤となります。テキストボックスまたは日付時刻リストボックスが対象です。
  • 数値フォーマットを指定している場合、これも考慮して文字数を設定してください。(例 : 7桁の数値入力項目で、3桁区切りで「,」を入力させる場合、これを考慮して文字数の上限を 9 とする必要があります。)
  • 入力対象ではない項目に対する入力チェックを行うことはできません。具体的には計算式で求められる項目や、読み込み専用項目、参照連動項目です。

正規表現との併用

文字数チェックは内部で正規表現式に展開されます。例えば文字数に4と設定した場合、正規表現 ".{0,4}" が設定されます。 すなわち正規表現の設定は無効になります。

文字数チェックと正規表現を併用する場合は、文字数チェックを指定せず、正規表現式で、文字数チェックも兼ねる式を個別に設定してください。

そのため数値型に文字数チェックを設定すると数字以外の文字も入力できるようになります。数値型の場合は文字数ではなく範囲チェックを指定することで対応してください。

モデル参照項目での利用

Wagbyの文字数チェックは、データベースのテーブルのカラム(列)のサイズを超えないように、事前に入力チェックを行うという機能です。

そのため、モデル参照項目(検索画面など)に文字数チェックを適用した場合は、画面に表示される「内容部」の文字数ではなく、テーブルのカラムに格納される「ID部」の文字数のチェックになります。

バイト指定の動作8.1.1

入力文字数チェック(byte)のとき、"環境>データベースの文字エンコーディング情報"を利用します。この設定が空白のときは "UTF-8" 扱いとなります。[この仕様を旧方式に戻す...]

ブラウザでのリアルタイムチェック

データベースの文字エンコーディング情報が "UTF-8" の場合のみ、バイト数でチェックするようになります。それ以外は文字数でチェックします。

UTF-8 では原則は1文字3バイトですが、JIS X 0213の第3・4水準漢字の一部と絵文字では1文字4バイトとなるものがあります。