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
}
]
}
}