スクリプトを使ってみる(2) 入力チェック

最終更新日: 2022年11月25日

除算のルール

前ページで説明した四則演算モデルに「除算」項目を追加します。
除算の場合、0 で割ってはいけないというルールがあります。
このルールを守るための入力チェックを設定しましょう。

除算の値を格納する「A/B」項目を例に説明します。
除算の場合、結果が小数値となる場合を考慮し、型を「小数」とします。

除算値を格納する項目を用意する

除算の式をブロックを並べて配置します。ブロック配置の詳細な手順は前ページをお読みください。

除算のブロック

入力チェック

  1. それでは、「項目Bが0の場合はエラーにする」というルールを加えてみましょう。
    スクリプトのタイプを「モデル」とし、実行タイミングを「入力チェック」とします。
    入力チェックスクリプトを作成する(1)
  2. 入力チェックでは「条件判断」ブロックを使います。
    最初に「もし〜ならば」ブロック(以下「条件ブロック」と呼びます)をクリックし、ワークスペースに配置します。
    もし〜ならばブロック
  3. 続いて、同じく条件判断のブロック群から「…=…」ブロック(以下「比較ブロック」と呼びます)を「もし~ならば」ブロックに接続します。
    判定ブロックの追加(1)
    判定ブロックの追加(2)
  4. 判定ブロックには、判定条件を指定します。
    今回は項目Bの値が0であるかどうかを判定したいため、「B=0」という条件にします。
    そこで「モデル」ブロック群から「四則演算テスト」モデルブロックをクリックして選択します。
    モデルブロックを選ぶ
  5. 対象項目を「B」とします。
    項目の指定
  6. このブロックを比較ブロックの左側に配置します。
    比較ブロックに配置する
  7. 次に、値 "0" をブロックとして用意します。
    数値ブロック群から「数」ブロックを選択します。
    数ブロック
  8. 数ブロックを比較ブロックの右側に配置します。
    数ブロックを比較ブロックに配置する
  9. ここまでで条件部「もし項目Bの値が 0 だったら」ができました。
    入力チェックのため、この条件の成立時にエラーメッセージを表示します。
    文ブロック群に用意されているメッセージブロックを選択します。
    メッセージブロック
  10. メッセージブロックを条件ブロックの「ならば」部分に配置します。
    メッセージブロックを配置する
  11. メッセージ内容を用意します。
    文字列ブロック群から文字ブロックを選択します。
    文字ブロック
  12. 文字ブロックを、メッセージブロックに配置します。
    文字ブロックを配置する
  13. メッセージ内容を入力します。
    ここでは「0で割ることはできません。」としました。
    メッセージ文字列の設定
  14. これで入力チェックが完成しました。最後に保存します。
    スクリプトを保存する

動作の確認

項目を追加したため、ビルドを行ってください。
アプリケーションにログオンし、項目Bに0を入力した状態で保存ボタンをクリックすると、エラーメッセージが表示されるようになりました。

エラーメッセージの表示