文字数チェック
最終更新日: 2023年5月25日
R8 | R9
リアルタイム方式でのチェックとなります。
モデル項目の詳細定義ダイアログを開き、入力チェックタブの「範囲チェック」欄で指定を行います。
モデル項目の詳細定義ダイアログで「入力チェック」タブをクリックして開きます。
②の選択肢の中で「(警告)」と書かれたものを選択すると、設定した文字数を超えて登録しようとした時に警告を表示します。
この欄には数字だけでなく、半角ハイフン(-)を用いた書式が利用できます。
文字列型の項目に「文字数チェック」を指定しない場合、
例えば Oracle の場合、標準では文字列型項目に「varchar2(255 char)」が適用されるため、
文字列型項目で char 指定(空白を含む)の場合、文字数チェックは内部で正規表現式に展開されます。
文字列型項目で文字数チェックと正規表現を併用し、両方ともリアルタイムチェックとする場合は、文字数チェックは指定せず、正規表現式で文字数チェックも兼ねるようにするとよいでしょう。
実装イメージ
指定したサイズを超えて入力したタイミングで、エラーを表示します。(図1,図2)
定義方法 - 数値型項目の場合
例えば4桁以内としたい場合は、「0-9999」と設定してください。
詳細は「範囲チェック>文字数チェックとして使う」をご覧ください。
定義方法 - 数値型以外の場合
「文字数チェック」欄(①)に数値を、②のセレクトボックスで単位を設定します。
「char」は文字数で、「byte」は文字を構成するバイト数です。
この場合、警告表示後、再度「保存」ボタンをクリックすると登録されます。
書式
記述例
意味
数字のみ
5
5文字以内(6文字ならエラー)
-数字
-5
5文字以内(上記「数字のみ」の記述と同じ)
数字-
5-
5文字以上(4文字ならエラー)
数字1-数字2
5-8
5文字以上8文字以内
文字列項目とデータベースの関係
型の仕様として決められている最大文字数を超える入力が行われたときにデータベースエラーが発生します。
最大文字数は 255 文字です。
従って、文字数チェック設定に 255 より小さい数値を指定することで、過入力によるデータベースエラーを回避できるようになります。
仕様・制約
正規表現との併用
例えば文字数に4と設定した場合、正規表現 ".{0,4}" が設定されます。
そのため、もし正規表現の設定を同時に行なった場合、正規表現チェックはサーバチェック方式に切り替わります。
モデル参照項目での利用
Wagbyの文字数チェックは、データベースのテーブルのカラム(列)のサイズを超えないように、事前に入力チェックを行うという機能です。
そのため、モデル参照項目(検索画面など)に文字数チェックを適用した場合は、画面に表示される「内容部」の文字数ではなく、テーブルのカラムに格納される「ID部」の文字数のチェックになります。
バイト指定の動作v8.1.1以降
入力文字数チェック(byte)のとき、"環境>データベースの文字エンコーディング情報"を利用します。この設定が空白のときは "UTF-8" 扱いとなります。[この仕様を旧方式に戻す...]
ブラウザでのリアルタイムチェック
データベースの文字エンコーディング情報が "UTF-8" の場合のみ、バイト数でチェックするようになります。それ以外は文字数でチェックします。