必須・警告

最終更新日: 2023年6月14日
R8 | R9

必須入力

実装イメージ

必須チェックを指定した項目の項目名は赤字で表示されます。 未入力のままカーソルを移動すると、図1のようにリアルタイム方式でチェックされます。

必須チェック

定義方法

  1. 必須項目としたいモデル項目の「詳細」ボタンをクリックし、詳細定義ダイアログを開きます。
    モデル項目一覧
  2. 「入力チェック」タブをクリックして開き、「必須」を「○」とします。
    必須チェックを有効にする

警告を出すが、入力なしを許容する

実装イメージ

「警告」を設定した項目も項目名は赤字で表示されます。 入力しない場合は警告が表示されますが、もう一度「保存」ボタンをクリックすると登録することができます。

一回目の「保存」ボタン押下時は警告メッセージが表示される
二回目の「保存」ボタン押下時は(空白のまま)保存される

定義方法

  1. モデル項目の詳細定義で「入力チェック」タブをクリックして開きます。
    「必須」を「警告」とします。
    必須入力の指定(警告)

初期値について

項目を必須とした場合、自動的に次の初期値が設定されます。

項目の型初期値
整数/1バイト整数/2バイト整数/4バイト整数/8バイト整数0
4バイト浮動小数/8バイト浮動小数0.0
※ 4バイト浮動小数/8バイト浮動小数は内部的に0.0ですが、画面表示は出力フォーマットに準拠します。例えば出力フォーマットを "###,###.0" とすることで表示時が 0.0 となります。
他項目の値による入力制御と併用した場合、初期値の自動設定は行われません。(条件によって必須ではない、という場合があるためです。)

データベーススキーマへの影響

この設定を行うと、テーブル定義の当該項目に NOT NULL 制約が付与されます。
つまりテーブルスキーマが変更されます。

既存テーブルスキーマを再利用する場合の注意点

既存のテーブルスキーマを再利用する場合は注意が必要です。
具体的には必須項目に NULL 値が存在する場合、そのデータは Wagby からの検索でヒットしません。[詳細...]

サブモデルを定義する場合の注意点

サブモデルを定義し、かつ、サブモデル側の該当項目では必須チェックを行わないとします。
(すなわち、メインモデル側の項目には必須チェックが設定されているが、サブモデル側の項目では必須チェックが設定されていない、という状況を想定します。)

この場合、メインモデルは必須チェックを行い、サブモデルでは必須チェックを行いません。
テーブル定義で NOT NULL 制約は設定されません。

他項目の値による入力制御と併用した場合

テーブル定義で NOT NULL 制約は設定されません。

主キーとの関係

「主キーとして利用する」設定がチェックされた場合、必須チェックが自動的に有効かつ変更不可となります。

仕様・制約

  • このチェックはリアルタイムで行われます。(ブラウザのJavaScriptでチェックします。)
  • 入力エラーの状態では「保存」などのボタンを押下することはできません。
  • エラーとなった入力項目は、背景が赤となります。テキストボックスまたは日付時刻リストボックスが対象です。
  • 閲覧権限が設定されている項目に対して「必須チェック」は指定できません。
  • 入力対象ではない項目に対する入力チェックを行うことはできません。
    具体的には計算式で求められる項目や、読み込み専用項目、参照連動項目です。
  • 一覧更新画面(親子モデルにおける、子モデル同時更新画面も含む)では、警告指定は動作しません。

関連するページ