CookBook

スプレッドシートでForma入力チェックユーザプログラムを利用して入力チェックを実行する方法

投稿日:

このCookBookでは、スプレッドシートでForma入力チェックユーザプログラムを利用して入力チェックを実行する方法について紹介しています。

Formaの入力チェックプログラムでは以下の2つのチェックを実行することが可能です。

【1】 入力チェックの内容をアプリケーション固有のルールに基づいて動的に変更する。
【2】 アプリケーション固有の入力チェックをする。

ただし、スプレッドシートアイテムにはアイテム自体に入力チェックプロパティが存在しないため、【2】ですべてのチェックを実装します。
また、エラーメッセージ表示順の制御についても他アイテム同様に動作するため、そのサンプルも掲載します。

入力チェックプログラムの詳細は以下のドキュメントを参照してください。
IM-FormaDesigner for Accel Platform プログラミングガイド - 入力チェックプログラム

完成イメージ


・ スプレッドシート内の単項目・明細テーブルに対して入力チェックを実装します。

完成サンプル

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

レシピ

  1. Formaアプリケーションを作成し、通勤交通費申請書を表現したフォームにスプレッドシートアイテムを配置します。
  2. 入力チェックプログラムを作成します。

完成サンプルを見ながら以下の解説を確認してください。

1. Formaアプリケーションを作成し、通勤交通費申請書を表現したフォームにスプレッドシートアイテムを配置します。

以下の項目をシート上のフィールドとして定義してください。

  • Applicant
  • Affiliation department
  • Applicant's address
  • Closest station

以下の項目をシート上のテーブルとして定義してください。

  • Public transport fare

以下の項目をテーブルに表示する列として設定してください。

  • Transportation to use
  • Boarding section (From)
  • Boarding section (To)
  • 3 months (commuter pass)
  • 1 month (commuter pass)
  • one day (round trip)

2. 入力チェックプログラムを作成します。

  • getCustomProperties
    • 冒頭で説明したとおり、スプレッドシートアイテムにはアイテム自体に入力チェックプロパティが存在しないため、このメソッドで行うことはありません。
  • validate
    • 単項目は既存のアイテム同様、 sendParam.%フィールド識別ID% に存在します。
    • テーブル定義は明細テーブルやグリッドテーブルのように sendParam.%テーブル識別ID% にオブジェクトの配列として存在します。
    • 入力チェックエラーと判定した場合は ImFormaUtil.addValidationError を使用してエラー情報を登録してください。
  • getErrorDisplayOrder
    • validate メソッドで使用した入力チェックIDを配列として返却することで、エラー表示順序を制御することができます。

-CookBook
-,

執筆者:


comment

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

関連記事

スプレッドシートのバインディングデータを別途テーブルに出力する方法

スプレッドシートのJsonデータとバインディングデータは、Formaヘッダーテーブルにバイナリカラムで格納されます。 Formaヘッダーテーブルに格納されたスプレッドシートデータは、登録データ情報管理 …

no image

IM-FormaDesignerで作成したフォーム内で、外部連携を利用して最も簡単に値を渡す方法(単一アイテム編)

このCookBookでは、IM-FormaDesignerで作成したフォーム画面の中で、アイテムからアイテムへ値を渡す方法について紹介します。 今回は例として、文字列と数値の値を同時にアイテムからアイ …

no image

Docker Compose で Accel Platform 環境を構築する。

この CookBook では、Docker Compose を利用して Accel Platform 環境を構築する手順について紹介しています。 この CookBook では、以下の記事で作成した D …

no image

No.5 外部サイトの定期監視

この記事は、EWS 2017で行われたLogicDesignerの講演内容に関する記事です。 こちらの例では、LogicDesignerからIM-FormaDesigner / IM-BIS / IM …

no image

intra-mart WebPlatform をサイレントインストールする方法

この CookBook では、intra-mart WebPlatform をサイレントインストールする方法について紹介しています。 インストーラのサイレント・モードについては以下のセットアップに記載 …

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

RSSRSSRSSRSS