Show Menu
トピック×

フォームデータモデルの操作

フォームデータモデルエディターには、フォームデータモデルの編集と設定を行うための直感的なユーザーインターフェイスが用意されています。エディターを使用して、フォームデータモデル内の関連するデータソースから、データモデルのオブジェクト、プロパティおよびサービスを追加および設定できます。 また、データソースを持っていないデータモデルオブジェクトとプロパティを作成し、後でそれらのオブジェクトとプロパティにデータソースを連結することもできます。さらに、データモデルオブジェクトのプロパティ用にサンプルデータを生成して編集し、これらのプロパティを使用してアダプティブフォームとインタラクティブ通信にデータを取り込み、プレビュー表示することもできます。フォームデータモデル内で設定したデータモデルオブジェクトとサービスのテストを実行することにより、そのフォームデータモデルがデータソースと正しく統合されているかどうかを確認することができます。
AEM Forms のデータ統合機能を初めて使用する場合や、これまでにデータソースの設定やフォームデータモデルの作成を行ったことがない場合は、以下のトピックを参照してください。
ここからは、フォームデータモデルエディターを使用して各種の操作や設定を行う方法について説明します。
You must be a member of both fdm-author and forms-user groups to be able to create and work with form data model. これらのグループのメンバーになるには、AEM の管理者に依頼してください。

データモデルオブジェクトとサービスの追加

データソースを使用してフォームデータモデルを作成した場合、フォームデータモデルエディターを使用して、データモデルのオブジェクトとサービスの追加、プロパティの設定、データモデルオブジェクト間の関連付けの構築、フォームデータモデルとサービスのテストを行えます。
フォームデータモデル内の有効なデータソースを使用して、データモデルオブジェクトとサービスを追加することができます。追加したデータモデルオブジェクトは「モデル」タブに表示され、追加したサービスは「サービス」タブに表示されます。
データモデルのオブジェクトおよびサービスを追加するには:
  1. AEM オーサーインスタンスにログインして​ フォーム/データ統合 ​に移動し、データモデルオブジェクトを追加するフォームデータモデルを開きます。
  2. Data Sourcesウィンドウで、データソースを展開し、使用可能な表示データモデルのオブジェクトおよびサービスにします。
  3. フォームデータモデルに追加するデータモデルオブジェクトとサービスを選択して、「 選択項目を追加 」をタップします。
    選択されたデータモデルオブジェクトとサービス
    「モデル」タブには、フォームデータモデルに追加されたすべてのデータモデルオブジェクトのグラフィカル表現と、それらのオブジェクトのプロパティが表示されます。フォームデータモデル内の各データモデルオブジェクトは、ボックスを使用して表現されます。
    追加したデータモデルオブジェクトが表示された「モデル」タブ
    データモデルオブジェクトのボックスを選択してドラッグすると、コンテンツ領域内にデータモデルオブジェクトを配置することができます。フォームデータモデルに追加されたデータモデルオブジェクトは、すべてデータソースパネルで灰色表示になっています。
    「サービス」タブには、追加されたサービスが一覧表示されます。
    データモデルサービスが表示された「サービス」タブ
    OData サービスのメタデータドキュメントには、データモデルオブジェクトとサービスのほかに、2 つのデータモデルオブジェクト間の関連付けを定義するナビゲーションプロパティが含まれます。詳しくは、「 OData サービスのナビゲーションプロパティの操作 」を参照してください。
  4. 保存 」をタップして、フォームモデルオブジェクトを保存します。
    アダプティブフォームのルールを使用して、フォームデータモデルの「サービス」タブで設定したサービスを呼び出すことができます。設定したサービスは、ルールエディターの「サービスを起動」アクションで使用することができます。設定したサービスをアダプティブフォームルールで使用する方法については、「 ルールエディター 」で、「サービスを起動」ルールと「指定値」ルールに関する説明を参照してください。

データモデルオブジェクトと子プロパティの作成

データモデルオブジェクトの作成

設定済みデータソースからデータモデルオブジェクトを追加することができますが、データソースを持っていないデータモデルオブジェクトやデータモデルエンティティを作成することもできます。この方法は、フォームデータモデル内でデータソースが設定されていない場合に使用すると、特に便利です。
データソースを持っていないデータモデルオブジェクトを作成するには、以下の手順を実行します。
  1. AEM オーサーインスタンスにログインして​ フォーム/データ統合 ​に移動し、データモデルオブジェクトまたはデータモデルエンティティを作成するフォームデータモデルを開きます。
  2. エンティティを作成 」をタップします。
  3. フォームデータモデル作成ダイアログで、データモデルオブジェクトの名前を指定して「 追加 」をタップします。データモデルオブジェクトがフォームデータモデルに追加されます。新しく追加されたデータモデルオブジェクトは、データソースに連結されず、次の図に示すようなプロパティも持たないことに注意してください。
次に、データソースに連結されていないデータモデルオブジェクトで、子プロパティを追加します。

子プロパティの追加

フォームデータモデルエディターを使用して、データモデルオブジェクト内で子プロパティを作成することができます。作成した時点では、子プロパティはデータソース内のどのプロパティにも連結されません。作成した子プロパティは、データモデルオブジェクト内の別のプロパティに後で連結することができます。
子プロパティを作成するには、以下の手順を実行します。
  1. In a form data model, select a data model object and tap Create Child Property .
  2. 子プロパティを作成 ​ダイアログの「 名前 」フィールドと「 タイプ 」フィールドで、子プロパティの名前とタイプを指定します。必要に応じて、子プロパティのタイトルと説明を指定することもできます。
  3. 作成するプロパティが計算済みプロパティの場合は、「計算済み」を有効にします。計算済みプロパティの値は、ルールまたは式に基づいて評価されます。詳しくは、「 プロパティの編集 」を参照してください。
  4. データモデルオブジェクトをデータソースに連結すると、追加した子プロジェクトが親データモデルオブジェクトのプロパティに自動的に連結されます。その際、子プロパティの名前とデータタイプは変わりません。
    子プロパティをデータモデルオブジェクトのプロパティに手動で連結するには、「 参照をバインド 」フィールドの横に表示されている参照アイコンをタップします。 オブジェクトの選択 ​ダイアログに、親データモデルオブジェクトのすべてのプロパティが一覧表示されます。連結するプロパティを選択して、チェックマークアイコンをタップします。子プロパティと異なるデータタイプのプロパティを選択することはできないことに注意してください。
  5. 完了 」をタップして子プロパティを保存し、「 保存 」タップしてフォームデータモデルを保存します。これで、子プロパティがデータモデルオブジェクトに追加されました。
データモデルオブジェクトとプロパティを作成したら、フォームデータモデルに基づいて、アダプティブフォームとインタラクティブ通信を作成することができます。データソースの設定が完了した時点で、フォームデータモデルをデータソースに連結することができます。連結の設定は、関連するアダプティブフォームとインタラクティブ通信内で自動的に更新されます。For more information about creating adaptive forms and interactive communications using form data model, see Use form data model .

データモデルオブジェクトとプロパティの連結

When the data sources you want to integrate with the form data model are available, you can add them to the form data model as described in Update data sources . その後、以下の手順を実行して、データソースに連結されていないデータモデルオブジェクトとプロパティを連結します。
  1. フォームデータモデルで、データソースに連結するデータソースを選択します。
  2. プロパティを編集 」をタップします。
  3. プロパティを編集 ​ペインで、「 連結 」フィールドの横に表示されている参照アイコンをタップします。この操作により、 オブジェクトの選択 ​ダイアログが表示されます。このダイアログには、フォームデータモデル内に追加されたデータソースが一覧表示されます。
  4. データソースツリーを展開し、連結するデータモデルオブジェクトを選択してチェックマークアイコンをタップします。
  5. 完了 」をタップしてプロパティを保存し、「 保存 」をタップしてフォームデータモデルを保存します。これで、データモデルオブジェクトがデータソースに連結されました。データモデルオブジェクトが「連結解除」とマークされなくなりました。

サービスの設定

データモデルオブジェクトのデータの読み取りと書き込みを行うには、以下の手順を実行して、読み取りサービスと書き込みサービスを設定します。
  1. データモデルオブジェクト上部のチェックボックスを選択して「 プロパティを編集 」をタップします。
    データモデルオブジェクトの読み取りサービスと書き込みサービスの設定を行う「プロパティを編集」
    プロパティを編集ダイアログが表示されます。
    プロパティを編集ダイアログ
    OData サービスのメタデータドキュメントには、データモデルオブジェクトとサービスのほかに、2 つのデータモデルオブジェクト間の関連付けを定義するナビゲーションプロパティが含まれます。OData サービスのデータソースをフォームデータモデルに追加すると、フォームデータモデルでデータモデルオブジェクト内のすべてのナビゲーションプロパティが有効になるサービスを使用できます。このサービスを使用して、対応するデータモデルオブジェクトのナビゲーションプロパティを読み取ることができます。
    このサービスの使用について詳しくは、「 OData サービスのナビゲーションプロパティの操作 」を参照してください。
  2. トップレベルオブジェクト 」を切り替えて、データモデルオブジェクトを最上位のモデルオブジェクトにするかどうかを指定します。
    フォームデータモデルで設定したデータモデルオブジェクトは、そのフォームデータモデルに基づいて、アダプティブフォームのコンテンツブラウザーの「データモデルオブジェクト」タブで使用することができます。2 つのデータモデルオブジェクト間の関連付けを追加すると、「データモデルオブジェクト」タブで、関連付け先のデータモデルオブジェクトが、関連付け元のデータモデルオブジェクトの下にネストされます。ネストされたデータモデルが最上位のオブジェクトである場合は、「データモデルオブジェクト」タブにもそのデータモデルが個別に表示されます。この場合、ネストされた階層の内側と外側に 1 つずつデータモデルのエントリが表示されるため、フォームの作成者が混乱する可能性があります。関連するデータモデルオブジェクトをネストされた階層内だけで表示するには、そのデータモデルオブジェクトの「トップレベルオブジェクト」プロパティを無効にします。
  3. 選択したデータモデルオブジェクトの読み取りサービスと書き込みサービスを選択します。各サービスの引数が表示されます。
    従業員データソースに対して設定されている読み取りサービスと書き込みサービス
  4. Tap for the read service argument to bind the argument to a User Profile Attribute, Request Attribute, or Literal value and specify the binding value.
  5. 完了 」をタップして引数を保存し、もう一度「 完了 」をタップしてプロパティを保存します。次に、「 保存 」をタップしてフォームデータモデルを保存します。

Bind Readサービスの引数

Bind Readサービスの引数を、バインディング値に基づいて、Userプロファイル属性、Request属性またはLiteral値に対して設定します。 この値は引数としてサービスに渡され、指定した値に関連付けられた詳細がデータソースから取得されます。

リテラル値

Binding To 」ドロッ プダウンメニューから「Literal 」を選択し、「 Binding Value 」フィールドに値を入力します。 値に関連付けられた詳細がデータソースから取得されます。 静的な値に関連付けられた詳細を取得するには、このオプションを使用します。
この例では、引数の値として 4367655678 ​に関連付けられた詳細がデ mobilenum ータソースから取得されます。 モバイル番号の引数に値を渡す場合、関連する詳細には、顧客名、顧客住所、市区町村などのプロパティを含めることができます。

ユーザープロファイルの属性

「連結先 」ドロップダウンメニューから 「ユーザ ープロファイル属性」を選択し、「連結値」フィールドに 属性名を入力します ​。 AEMインスタンスにログインしたユーザーの詳細は、属性名に基づいてデータソースから取得されます。
「連結値」フィールドで指定 する属性名には 、ユーザーの属性名までの完全な連結パスを含める必要があります。 次のURLを開いて、CRXDEのユーザーの詳細にアクセスします。
https://<server-name>:<port number>/crx/de/index.jsp#/home/users/
この例では、ユーザーの「 profile.empid 連結値」フ ィールドに 「連結値」を指定し grios ます。
The id argument takes the value of the empid attribute of the user profile and pass it as an argument to the Read service. ログインしたユーザーに関連付けられた従業員データモデルオブジェクトから、関連付けられたプロ empid パティの値を読み取って返します。

属性を要求

リクエスト属性を使用して、データソースから関連するプロパティを取得します。
  1. 「属性の 連結先 」ドロップダ ウンメニューから「属性の要 求」を選択し、「連結値 ​」フィールドに属性名を入力します。
  2. head.jspを開き、CRXDEの属性の詳細を定義します。 https://<server-name>:<port number>/crx/de/index.jsp#/libs/fd/af/components/page2/afStaticTemplatePage/head.jsp
  3. head.jspファイルに次のテキストを含めます。
    <%Map paraMap = new HashMap();
     paraMap.put("<request_attribute>",request.getParameter("<request_attribute>"));
     request.setAttribute("paramMap",paraMap);%>
    
    
詳細は、リクエストで指定された属性名に基づいてデータソースから取得されます。
例えば、リクエストでattributeを指定す petid=100 ると、属性値に関連付けられたプロパティがデータソースから取得されます。

関連付けの追加

通常、データソース内のデータモデルオブジェクト間には関連付けが作成されています。この関連付けは、1 対 1 の場合もあれば、1 対多の場合もあります。例えば、1 人の従業員に対して複数の扶養家族を関連付けることができます。これを、 対多の関連付けといいます。関連するデータモデルオブジェクトを接続するライン上では、「 1:n 1:」」として表示されます。それに対して、特定の従業員 ID で一意の従業員名が返される場合などは、1 対 1 の関連付けになります。
データソース内の関連するデータモデルオブジェクトをフォームデータモデルに追加すると、その関連付けは保持され、矢印で結ばれた状態で表示されます。 フォームデータモデルでは、異なるデータソース間のデータモデルオブジェクト間に関連付けを追加できます。
JDBC データソース内で事前に定義されている関連付けは、フォームデータモデル内では維持されません。これらの関連付けについては、手動で作成する必要があります。
関連付けを追加するには、以下の手順を実行します。
  1. データモデルオブジェクト上部のチェックボックスを選択して「 関連付けを追加 」をタップします。関連付けを追加ダイアログが表示されます。
    OData サービスのメタデータドキュメントには、データモデルオブジェクトとサービスのほかに、2 つのデータモデルオブジェクト間の関連付けを定義するナビゲーションプロパティが含まれます。フォームデータモデルで関連付けを追加する際に、これらのナビゲーションプロパティを使用することができます。詳しくは、「 OData サービスのナビゲーションプロパティの操作 」を参照してください。
    関連付けを追加ダイアログが表示されます。
    関連付けを追加ダイアログ
  2. 関連付けを追加ペインで、以下の操作を実行します。
    • 関連付けのタイトルを入力します。
    • 関連付けのタイプを選択します — 1対1、または1対多。
    • 関連付けるデータモデルオブジェクトを選択します。
    • 選択したモデルオブジェクトからデータを読み取るための読み取りサービスを選択します。読み取りサービスの引数が表示されます。必要に応じて引数を編集し、関連付けるデータモデルオブジェクトのプロパティにその引数をバインドします。
    以下に示す例では、「扶養家族」データモデルオブジェクトの読み取りサービスのデフォルト引数が dependentid になっています。
    「扶養家族」読み取りサービスのデフォルト引数が dependentid になっている
    ただし、この引数は、関連付けるデータモデルオブジェクト間の共通プロパティ(この例の場合は Employeeid )でなければなりません。Therefore, the Employeeid argument must be bound to the id property of the Employee data model object to fetch the associated dependents details from the Dependents data model object.
    更新後の引数とバインド
    完了 」をクックして、引数を保存します。
  3. 完了 」をタップして関連付けを保存し、次に「 保存 」をタップしてフォームデータモデルを保存します。
  4. さらに関連付けを作成するには、上記の手順を繰り返します。
追加した関連付けは、入力したタイトルと、関連データモデルオブジェクトを接続する線とともに、データモデルオブジェクトのボックス内に表示されます。
You can edit an association by selecting the checkbox against it and tap Edit Association .

プロパティの編集

フォームデータモデル内で追加されたデータモデルオブジェクトとサービスのプロパティを編集することができます。
プロパティを編集するには、以下の手順を実行します。
  1. フォームデータモデル内のデータモデルオブジェクト、プロパティ、またはサービスの横に表示されているチェックボックスを選択します。
  2. プロパティを編集 」をタップします。選択したモデルオブジェクト、プロパティ、またはサービスの「 プロパティを編集 」ペインが表示されます。
    • データモデルオブジェクト :読み取りサービスと書き込みサービスを指定し、引数を編集します。
    • プロパティ :プロパティのタイプ、サブタイプ、形式を指定します。選択したプロパティをデータモデルオブジェクトのプライマリキーにするかどうかを指定することもできます。
    • サービス :サービスの入力モデルオブジェクト、出力タイプ、引数を指定します。Get サービスの場合は、配列を返す必要があるかどうかを指定することができます。
    Get サービスのプロパティを編集ダイアログ
  3. 完了 」をタップしてプロパティを保存し、次に「 保存 」をタップしてフォームデータモデルを保存します。

計算済みプロパティの作成

計算済みプロパティとは、ルールまたは式に基づいて値が計算されるプロパティのことです。ルールを使用して、計算済みプロパティの値を、リテラル文字列、数値、数式の計算結果、フォームデータモデル内の別のプロパティの値に設定することができます。
例えば、 FirstName プロパティと LastName プロパティの値を組み合わせた値を持つ FullName プロパティを作成することができます。この作業を行うには:
  1. Create a new property with the name FullName whose data type is String.
  2. 計算済み 」を有効にし、「 完了 」をタップしてプロパティを作成します。
    これにより、FullName という名前の計算済みプロパティが作成されます。このプロパティの横に、計算済みプロパティであることを表すアイコンが表示されます。
  3. 「FullName」プロパティを選択して「 ルールを編集 」をタップします。ルールエディターウィンドウが表示されます。
  4. ルールエディターウィンドウで、「 作成 」をタップします。「 Set Value 」ルールウィンドウが表示されます。
    オプション選択ドロップダウンで、「 数式 」を選択します。「 フォームデータモデルのオブジェクト 」オプションと「 文字列 」オプションを選択することもできます。
  5. 数式の最初のオブジェクトとして「 FirstName 」を選択し、2 番目のオブジェクトとして「 LastName 」を選択します。演算子として「 プラス 」を選択します。
    Tap Done and then tap Close to close the rule editor window. ルールは以下のようになります。
  6. フォームデータモデルで、「 保存 」をタップします。これで、計算済みプロパティが設定されました。

OData サービスのナビゲーションプロパティの操作

OData サービスでは、ナビゲーションプロパティを使用して、2 つのデータモデルオブジェクト間の関連付けが定義されます。これらのプロパティは、エンティティタイプまたは複合タイプに対して定義されます。For example, in the following extract from the metadata file of the sample TripPin OData sample services, the person entity contains three navigation properties - Friends, BestFriend, and Trips.
ナビゲーションプロパティについて詳しくは、 OData のドキュメント を参照してください。
<edmx:Edmx xmlns:edmx="https://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<script/>
<edmx:DataServices>
<Schema xmlns="https://docs.oasis-open.org/odata/ns/edm" Namespace="Microsoft.OData.Service.Sample.TrippinInMemory.Models">
<EntityType Name="Person">
<Key>
<PropertyRef Name="UserName"/>
</Key>
<Property Name="UserName" Type="Edm.String" Nullable="false"/>
<Property Name="FirstName" Type="Edm.String" Nullable="false"/>
<Property Name="LastName" Type="Edm.String"/>
<Property Name="MiddleName" Type="Edm.String"/>
<Property Name="Gender" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.PersonGender" Nullable="false"/>
<Property Name="Age" Type="Edm.Int64"/>
<Property Name="Emails" Type="Collection(Edm.String)"/>
<Property Name="AddressInfo" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location)"/>
<Property Name="HomeAddress" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location"/>
<Property Name="FavoriteFeature" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Feature" Nullable="false"/>
<Property Name="Features" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Feature)" Nullable="false"/>
<NavigationProperty Name="Friends" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person)"/>
<NavigationProperty Name="BestFriend" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person"/>
<NavigationProperty Name="Trips" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip)"/>
</EntityType>

フォームデータモデル内で OData サービスを設定すると、そのフォームデータモデル内のサービスを経由して、エンティティコンテナ内のすべてのナビゲーションプロパティを使用できるようになります。In this example of TripPin OData service, the three navigation properties in the Person entity container can be read using one GET LINK service in the Form Data Model.
The following highlights the GET LINK of Person /People service in the Form Data Model, which is a combined service for the three navigation properties in the Person entity of the TripPin OData service.
フォームデータモデルの「サービス」タブに GET LINK サービスを追加すると、サービス内で使用する出力モデルオブジェクトとナビゲーションプロパティを選択するための各種プロパティを編集できるようになります。For example, the following GET LINK of Person /People service in the following example uses Trip as the output model object and the navigation property as Trips.
The values available in the Default Value field of the NavigationPropertyName argument depend on the state of the Return array? 」トグルボタンの状態によって異なります。このボタンが有効になっている場合は、コレクションタイプのナビゲーションプロパティが表示されます。
In this example, you can also choose the output model object as Person and navigation property argument as Friends or BestFriend (depending on whether Return array? 」ボタンが有効になっているか無効になっているかによって異なります)。
同様に、フォームデータモデルで関連付けを追加する際に GET LINK サービスを選択し、サービスのナビゲーションプロパティを設定することができます。ただし、ナビゲーションプロパティを選択するには、「 ​バインディング先」フィールドが「 リテラル 」に設定されている必要があります。

サンプルデータの生成と編集

フォームデータモデルエディターを使用して、計算済みプロパティを含むすべてのデータモデルオブジェクトプロパティのサンプルデータを、フォームデータモデル内で生成することができます。各プロパティで設定されたデータタイプに基づいて、一連のランダムな値がサンプルデータとして生成されます。このサンプルデータを編集して保存することもできます。サンプルデータを再生成した場合も、編集したサンプルデータは保存されたままになります。
サンプルデータを生成して編集するには、以下の手順を実行します。
  1. フォームデータモデルを開いて「 サンプルデータを編集 」をタップします。サンプルデータが生成され、サンプルデータ編集ウィンドウに表示されます。
  2. サンプルデータを編集 」ウィンドウでデータを編集して「 保存 」をタップします。
次に、サンプルデータを使用し、フォームデータモデルに基づいてインタラクティブ通信にデータを取り込んでテストを実行します。詳しくは、「 フォームデータモデルの使用 」を参照してください。

データモデルオブジェクトとサービスのテスト

これまでの手順で設定したフォームデータモデルを使用する前に、設定したデータモデルオブジェクトとサービスが正しく動作するかどうかをテストすることをお勧めします。データモデルオブジェクトとサービスをテストするには、以下の手順を実行します。
  1. フォームデータモデル内のデータモデルオブジェクトまたはサービスを選択し、「 モデルオブジェクトをテスト 」または「 サービスをテスト 」をタップします。
    フォームデータモデルをテストウィンドウが表示されます。
  2. 上記のウィンドウの入力ペインで、テストするデータモデルオブジェクトまたはサービスを選択します。
  3. テストコードで引数の値を指定して「 テスト 」をタップします。テストが成功すると、出力ペインに出力情報が表示されます。
同様の方法で、フォームデータモデル内の他のデータモデルオブジェクトやサービスをテストすることができます。

入力データの自動検証

フォームデータモデルは、DareamBridge APIを呼び出す際に、入力として受け取ったデータを検証します(フォームデータモデルで使用可能な検証基準に基づきます)。 検証は、APIの呼び出しに使用 ValidationOptions されるクエリオブジェクトに設定されたフラグに基づいて行われます。
フラグは、次のいずれかの値に設定できます。
  • FULL :FDMは、すべての制約に基づいて検証を実行します
  • オフ :検証なし
  • 基本 :FDMは、「必須」制約と「NULL許容」制約に基づいて検証を実行します
フラグに値が設定されていな ValidationOptions い場合、 入力データに対して BASIC検証が実行されます。
次に、検証フラグを FULLに設定する例を示します
operationOptions.setValidationOptions(ValidationOptions.FULL);

入力データの属性に指定する値は、メタデータドキュメントの属性に対して定義されたデータタイプと一致する必要があります。 値が属性に対して定義されたデータ型と一致しない場合、DateriBridge APIはフラグの値に関係なく例外を表示し ValidationOptions ます。 ログレベルがDebugに設定されている場合、エラーが error.logファイルに記録されます
フォームデータモデルは、データ型制約のリストに基づいて入力データを検証します。 入力データの制約のリストは、データソースによって異なる場合があります。
次の表に、リストソースに基づく入力データの制約を示します。
制約 説明 入力データソース
必須 trueの場合、パラメーターを入力データに含める必要があります。 Swagger、WSDLおよびデータベース
nullable trueの場合、入力データ内のパラメーターの値をNullに設定できます。 WSDL、Odata、およびデータベース
maximum 数値の上限を指定します。 上限として指定した最大値は、入力データのパラメーターにも割り当てることができます。 SwaggerとWSDL
minimum 数値の下限を指定します。 下限として指定した最小値は、入力データのパラメーターにも割り当てることができます。 SwaggerとWSDL
exclusiveMaximum 数値の上限を指定します。 上限として指定した最大値を入力データのパラメーターに割り当てないでください。 SwaggerとWSDL
exclusiveMinimum 数値の下限を指定します。 下限として指定する最小値を、入力データのパラメーターに割り当てないでください。 SwaggerとWSDL
minLength 文字列に含まれる文字数の下限を指定します。 下限として指定した最小値は、入力データのパラメーターにも割り当てることができます。 SwaggerとWSDL
maxLength 文字列に含まれる文字数の上限を指定します。 上限として指定した最大値は、入力データのパラメーターにも割り当てることができます。 Swagger、WSDL、Odataおよびデータベース
pattern 文字の固定シーケンスを指定します。 入力文字列は、文字が指定されたパターンに従っている場合にのみ正常に検証されます。 スワガー
minItems 配列内の項目の最小数を指定します。 下限として指定した最小値は、入力データのパラメーターにも割り当てることができます。 SwaggerとWSDL
maxItems 配列の最大項目数を指定します。 上限として指定した最大値は、入力データのパラメーターにも割り当てることができます。 SwaggerとWSDL
uniqueItems trueの場合、配列のすべての要素が入力データ内で一意である必要があります。 スワガー
enum (文字列) 入力データ内のパラメーターの値を固定文字列値のセットに制限します。 要素が1つ以上ある配列で、各要素は一意である必要があります。 Swagger、WSDL、Odata
enum (number) 入力データ内のパラメーターの値を固定数値のセットに制限します。 要素が1つ以上ある配列で、各要素は一意である必要があります。 WSDL
この例では、Swaggerファイルで定義されている最大制約、最小制約および必須制約に基づいて、入力データが検証されます。 入力データが検証条件を満たすのは、注文IDが存在し、その値が1 ~ 10の場合のみです。
parameters: [
{
name: "orderId",
in: "path",
description: "ID of pet that needs to be fetched",
required: true,
type: "integer",
maximum: 10,
minimum: 1,
format: "int64"
}
]

入力データが検証条件を満たさない場合は、例外が表示されます。 ログレベルが Debug ​に設定されている場合、エラーが error.logファイルに記録されます 。 以下に例を示します。
21.01.2019 17:26:37.411 *ERROR* com.adobe.aem.dermis.core.validation.JsonSchemaValidator {"errorCode":"AEM-FDM-001-044","errorMessage":"Input validations failed during operation execution.","violations":{"/orderId":["numeric instance is greater than the required maximum (maximum: 10, found: 16)"]}}

次の手順

これで、作業用のフォームデータモデルを、アダプティブフォームとインタラクティブ通信のワークフローで使用する準備が整いました。次の手順として、実際にこのフォームデータモデルを使用します。詳しくは、「 フォームデータモデルの使用 」を参照してください。