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

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

関連記事

no image

IM-LogicDesignerで、Redmineカスタムクエリのチケット一覧を取得する方法

このCookBookでは、IM-LogicDesignerを使用してRedmineのチケット (issues) 一覧を取得する方法を紹介します。 Redmineは、外部からチケット一覧を取得するための …

no image

ViewCreatorのヘッダやフッタに配置するリンクのURLに計算結果を埋め込む方法

本記事では、ViewCreatorのヘッダやフッタにリンクを埋め込む際に、関数を利用する方法をご紹介します。 この方法を利用すると、パラメータ文字列に「今日日付」を受け渡すといったことが実現できます。 …

no image

IM-FormaDesignerで作成したフォーム画面からIMBoxに投稿する方法

このCookBookでは、IM-BISを含む環境において、IM-FormaDesignerで作成したアプリからIMBoxに投稿する方法について紹介しています。 IM-LogicDesignerとの外部 …

no image

Formaの実行画面でアクセスログを収集する

このCookBookでは、Formaの実行画面で、アクセスログを収集する方法を紹介します。 サンプルでは、登録画面を開いた時点とデータ登録を実行した時点で、ログを収集します。 ログを収集することで、登 …

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

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

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

RSSRSSRSSRSS