アダプティブフォームからフォームデータモデルサービスを呼び出すための API

概要

AEM Forms を使用すると、アダプティブフォームフィールド内からフォームデータモデルで構成されたサービスを呼び出すことで、フォーム作成者はフォームへの記入作業を簡略化および強化することができます。データモデルサービスを呼び出すには、ビジュアルエディターでルールを作成するか、ルールエディターのコードエディターでguidelib.dataIntegrationUtils.executeOperation APIを使用してJavaScriptを指定します。

このドキュメントでは、guidelib.dataIntegrationUtils.executeOperation APIを使用してサービスを呼び出すJavaScriptの作成に重点を置いています。

API の使用

guidelib.dataIntegrationUtils.executeOperation API は、アダプティブフォームのフィールド内から サービスを呼び出します。API 構文は以下のとおりです。

guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)

この API には以下のパラメーターが必要です。

パラメーター 説明
operationInfo フォームデータモデルの識別子、操作タイトル、操作名を指定する構造
inputs サービス操作に値が入力されるフォームオブジェクトを指定するための構造
outputs サービス操作が返す値を使用して入力されるフォームオブジェクトを指定する構造

guidelib.dataIntegrationUtils.executeOperation APIの構造はサービス操作の詳細を指定します。 この構造の構文は以下のとおりです。

var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}

API 構造は、サービス操作の以下の詳細を指定します。

パラメーター 説明
forDataModelId フォームデータモデルへのリポジトリパスをその名前も含めて指定する
operationName 実行するサービス操作の名前を指定する
input 1 つ以上のフォームオブジェクトをサービス操作の入力引数にマップする
出力 1 つ以上のフォームオブジェクトをサービス操作からの出力値にマップしてフォームフィールドを埋め込む

サービスを呼び出すスクリプトのサンプル

次のサンプルスクリプトでは、guidelib.dataIntegrationUtils.executeOperation APIを使用して、employeeAccountフォームデータモデルで設定されたgetAccountByIdサービス操作を呼び出します。

getAccountById演算は、empId引数の入力としてemployeeIDフォームフィールドの値を受け取り、対応する従業員の従業員名、口座番号、口座残高を返します。 この出力値は指定されたフォームフィールドに入力されます。例えば、name引数の値がfullNameフォーム要素に入力され、accountフォーム要素のaccountNumber引数の値が入力されます。

var operationInfo = {
"formDataModelId": "/content/dam/formsanddocuments-fdm/employeeAccount",
"operationName": "getAccountDetails"
};
var inputs = {
"empid" : employeeID
};
var outputs = {
"name" : fullName,
"accountNumber" : account,
"balance" : balance
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs);

このページ

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now