intra-mart Accel Platform IM-LogicDesigner仕様書 第25版 2024-10-01

5.2.1.18.7. エンティティデータの検証

IM-Repositoryのエンティティデータの検証を行うタスクです。

このタスクではエンティティ項目の入力値がIM-Repositoryの辞書項目「用途」→「制約」で設定した制約条件に適合するかの検証と必須項目への入力チェックを行います。

5.2.1.18.7.1. プロパティ

項目名 必須/任意 初期値 説明
エラーハンドリング 任意 flag false
検証結果がNGの場合は検証エラーが発生します。
検証エラー時に処理を継続する場合は、チェックボックスをオンにしてください。
エンティティID 必須 text なし 検索アイコンをクリックし、「エンティティ検索」ダイアログで対象のエンティティを選択してください。

5.2.1.18.7.2. 入力値

im_repositoryEntityDataValidation <imr_entity>
      └─ %entity data%
項目名 必須/任意 配列/リスト 説明
im_repositoryEntityDataValidation 任意 imr_entity なし  
%エンティティデータ% 任意 下記参照 - -
エンティティデータはプロパティ「エンティティID」を設定すると自動的に生成されます。
生成されるパラメータは以下の条件を満たしているエンティティ項目です。
  • エンティティ項目が、辞書項目/エイリアスの場合
    IM-Repositoryの辞書項目「用途」→「データ」で IM-LogicDesignerの「データ型」 と「変数名」 を設定していること。
    各パラメータの型はIM-LogicDesignerの「データ型」、キー名はIM-LogicDesignerの「変数名」 です。

  • エンティティ項目が、サブエンティティの場合
    サブエンティティの「変数名」 を設定していること。
    各パラメータの型はエンティティとサブエンティティの多重度が1:1の場合は imr_entity(エンティティのobject)、多重度が1:nの場合は array 、キー名は「変数名」 です。

5.2.1.18.7.3. 出力値

im_repositoryEntityDataValidation <object>
 └─ errorItemsInfo <object[]>
      ├─ entityItemId <string>
      ├─ name <string>
      ├─ javascriptVariableName <string>
      ├─ reasons <string[]>
      ├─ prentName <string>
      └─ index <integer>
項目名 配列/リスト 説明
im_repositoryEntityDataValidation object なし  
errorItemsInfo object 配列
エラー項目情報
検証結果がNG、かつプロパティのエラーハンドリングの設定が「エラー発生時に処理を継続する」の場合にエラーになった項目情報が設定されます。
検証エラーがない場合は空配列が返却されます。
entityItemId string なし エンティティアイテムID
name string なし IM-LogicDesigner 変数名
javascriptVariableName string なし JavaScript 変数名
reasons string 配列 エラー理由
parentName string なし
親要素名
エラーになった項目がサブエンティティ項目である場合にサブエンティティの変数名、以外はnullが設定されます。
index integer なし
エラー行番号
エンティティが配列の場合は検証エラーになった配列番号、以外は0が設定されます。

コラム

エンティティデータの検証タスクを配置したロジックフローをREST APIとして呼び出し、検証エラーになった場合のレスポンスのHTTPステータスコードは400です。
エラーレスポンスは以下の情報を ”application/json” 形式で返却します。
{
  "error": true,
  "errorMessage": "string",
  "data": {
    "errorItemsInfo": [
      {
        "entityItemId": "string",
        "parentName": "string",
        "name": "string",
        "javascriptVariableName": "string",
        "reasons": [
          "string"
        ],
        "index": 0
      }
    ]
  }
}