CookBook

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

投稿日:

この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

intra-mart WebPlatform 7.2 の Docker を作成する

この CookBook では、intra-mart WebPlatform 7.2 の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 intra-mart WebPl …

no image

Milkode のご紹介

この CookBook では、Milkode について紹介しています。 intra-mart 開発本部ではソースコード検索エンジンとして Milkode を利用しています。 導入 導入は Instal …

no image

ワークスペース機能におけるイベントカレンダーの利用例

このCookBookでは「intra-mart Accel Collaboration」ワークスペース機能におけるイベントカレンダーの利用例について紹介しています。 intra-mart Accel …

no image

Docker Swarm を利用して Resin のクラスタリングを構築する。

この CookBook では、Docker Swarm を利用して Resin のクラスタリングを構築する手順について紹介しています。 Docker Swarm を利用することで、複数マシンにまたがっ …

no image

物理マシン 1 台で Resin のクラスタリング環境を構築する

この CookBook では、物理マシン 1 台で Resin のクラスタリング環境を構築する手順について紹介しています。 Resin のクラスタリングを構築するには通常複数台のマシンが必要ですが、D …

まだデータがありません。

RSSRSSRSSRSS