CookBook

FormaDesignerのユーザプログラム入力チェックをロジックフローで作成する方法

投稿日:2019-08-19 更新日:

このCookBookでは、FormaDesignerのユーザプログラム入力チェックをロジックフローで作成する方法をご紹介します。

サンプルでは、スプレッドシート・グリッドテーブル・明細テーブルを使用しています。
※スプレッドシートの利用は、下記を参考にして設定してください。
[IM-Spreadsheet 利用ガイド] - [セットアップ方法]

完成イメージ

  1. 適切な入力をします。
    (ここでは、必須入力チェック・電話番号チェック・メールアドレスチェックを設定しています。)
  2. 登録ボタンを押下したタイミングで、入力チェックを行います。
  3. 入力ミスがあると、エラーが発生します。

・実行画面

完成サンプル

下記の完成サンプルをダウンロードしてご活用ください。

レシピ

  1. Formaアプリケーションを作成し、ユーザ登録申請書を表現したフォームにスプレッドシート、グリッドテーブル、明細テーブルを配置します。
  2. ロジックフローを作成し、アイテムに対して入力チェック機能を実装します。
  3. ユーザプログラムで入力チェックロジックフローを連携します。
  4. 実行画面で実行できるか確認します。

1. Formaアプリケーションを作成し、ユーザ登録申請書を表現したフォームにスプレッドシート、グリッドテーブル、明細テーブルを配置します。

IM-BISにて、ユーザ登録申請書アプリケーション画面を作成していきます。

    • Formaアプリケーション

スプレッドシート・グリッドテーブル・明細テーブルを含むアプリケーション画面を作成してください。

※スプレッドシートの詳細設定
下記の項目をシート上のフィールドとして定義してください。
・Name
・Street address
・Phone number
・Mail address

下記の項目をテーブルに表示する列として設定してください。
・Application category
・Reason for application
・Application date(DD-MM-YYYY)

※グリッドテーブルの詳細設定
下記の項目をシート上のテーブルとして定義してください。
・Confirmation

下記の項目をテーブルに表示する列として設定してください。
・Reception day(DD-MM-YYYY)
・Receptionist
・Completion date(DD-MM-YYYY)
・Manager confirmation mark

※明細テーブルの詳細設定
下記の項目をシート上のテーブルとして定義してください。
・Confirmation

下記の項目をテーブルに表示する列として設定してください。
・User registration
・Mail directory creation
・Add to mail group

2. ロジックフローを作成し、アイテムに対して入力チェック機能を実装します。

IM-LogicDesignerでロジックフローを作成し、アイテムに対して入力チェック機能を実装します。
ここでは下記のように、入力チェックを実装しています。

黒い星マーク(★) 必須入力チェック
Phone number 電話番号入力チェック(ハイフンを含む。例:000-0000-0000)
Mail address メールアドレスチェック(例:aaa@com)

チェックフォーマットの表現形式に関しては、下記を参考にしてください。
「IM-FormaDesigner デザイナヘルプ」-「チェックフォーマットの記述例」

  • ロジックフローにおいて、入力チェックプログラムを実装します。
    • 「ユーザ定義追加」-「JavaScript定義新規作成」にて実装します。
  • 「ユーザスクリプト」に下記を設定します。
    • 詳しい処理内容はインラインでコメントを入れています。

  • 次に、入出力設定をします。

    • 「Input and Output Settings(入出力設定)」をクリックします。
      入力・出力値に渡されるパラメータ情報を設定してください。

・入力:上記のドキュメント通り
(入力値の"sendParam"の配下には、アイテムのフィールド識別ID・テーブル識別IDを配置してください。)

・出力:上記のドキュメント通り

  • “im_cookbook_162292_user”タスクのマッピングをします。
    • 下記の表の左右欄をマッピングさせてください。
入力<object> im_cookbook_162292_user1<object>
  • 最後に、“End”タスクのマッピングをします。
    • 下記の通りにマッピングをしてください。
im_cookbook_162292_user1/error<boolean> error<boolean>
im_cookbook_162292_user1/errorMessage<string> errorMessage<string>
im_cookbook_162292_user1/errorItems<object[]> errorItems<object[]>
im_cookbook_162292_user1/errorItems/inputId<string[]> inputId<string[]>
im_cookbook_162292_user1/errorItems/errorMessage<string> errorMessage<string>
im_cookbook_162292_user1/errorItems/localizedErrorMessages<object> localizedErrorMessages<object>
im_cookbook_162292_user1/errorItems/index<double> index<double>

4. ユーザプログラムで入力チェックロジックフローを連携します。

IM-BIS /「一覧」/該当の「アプリ」/「フォーム設定」/「ユーザプログラム一覧」/「入力チェックプログラム」から、ロジックフローを設定していきます。

プログラム種別は「ロジックフロー」で、フロー定義は作成したものを使用してください。

5. 実行画面で実行できるか確認します。

実行画面で、適切なフォーマットで入力し、申請できるか確認してください。
また誤ったフォーマットや未入力を行い、エラー表示が発生するかも合わせて確認してください。

-CookBook
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

Resin の Docker を作成する。

この CookBook では、Resin の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 Resin の Docker イメージを作成します 実行します 1. ベー …

no image

IMBox に投稿種別を追加する方法(Markdown)

このCookBookでは、IMBoxに投稿種別を追加する方法について紹介しています。 以下のドキュメントを参照することで、IMBox に投稿種別を追加することができます。 IMBox プログラミングガ …

配置可能なエレメントを簡単に判断する方法

このCookBookでは、配置可能なエレメントを簡単に判断する方法について紹介しています。 BloomMakerのエレメントには配置するのに制限があるものがあります。例えば、「フォーム部品(Bulma …

no image

テナント環境セットアップ時にテーブルが作成されるよう設定する

e Builderを利用して作成したアプリケーションにおいて、テナント環境セットアップ時に自動でテーブルが作成されるように設定する手順を紹介します。 今回は例として、CookBook:フォームに入力し …

no image

ワークスペースとスケジュール機能との連携

このCookBookでは、「intra-mart Accel Collaboration」の機能の1つであるワークスペースと「intra-mart Accel Collaboration」のスケジュー …