# 検証ルールの追加

Availability-note[非推奨](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)

このコンテンツは非推奨になりました。

利用対象...

* Data Fabric
* MDM Platform

検証ルールは、エンティティ内で属性間の制約を定義するために使用できる詳細なルールです。

## 始める前に

データモデル、ビジネスエンティティおよびデータモデルの属性が作成済みであること。詳細は、[データモデルの作成](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0/creating-data-model)、[データモデルにビジネスエンティティを作成](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0/creating-business-entities-in-data-model)、[ビジネスエンティティに属性を追加](https://help.qlik.com/talend/ja-JP/studio-user-guide/8.0/adding-attributes-to-business-entity)をご覧ください。

## このタスクについて

データモデルにAgency、AgentおよびRegionというエンティティが含まれている例を考えてみます。エージェントIDが名の最初の3文字から、および姓の最初の2文字から連結されて合成されていることを確認する検証ルールを作成しようとしています。

ビジネスエンティティに検証ルールを追加するには、以下のようにします:

## 手順

1. データモデルエディターでAgent属性を右クリックし、[Set the Validation Rule] (検証ルールを設定)を選択します。

   ダイアログボックスが表示されます。

   ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/DataModel_ValidationRule.png)
2. 検証ルールの名前(この例ではCheck Id)を入力し、OKをクリックしてダイアログボックスを閉じます。

   検証ルールがAgent属性の[Annotations] (注釈)ノードの下に表示されます。

   ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/DataModel_ValidationRule1.png)
3. 検証ルールをダブルクリックして[Set the Validation Rules] (検証ルールを設定)ダイアログボックスを開き、検証ルールのパラメーターを設定します。

   ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/DataModel_ValidationRule2.png)
4. ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/Add_Icon.png)アイコンをクリックしてテーブルに行を追加し、[Type] (タイプ)カラムをクリックし、設定するルールのタイプに応じてリストから[assert] (アサート)または[report] (レポート)を選択します。XPath式の評価結果がfalseの場合は[assert] (アサート)エレメントがインスタンス化され、エラーの検出に使用されます。他方、式の評価結果がtrueの場合は[report] (レポート)エレメントがインスタンス化され、インスタンスの存在をレポートするために使用されます。

   [Context XPath] (コンテキストXPath)カラムをクリックし、検証ルールを作成する属性にXpathを設定します(この例ではId)。
5. [Expression] (式)カラムをクリックし、[...]ボタンをクリックして式エディターを開きます。

   ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/DataModel_ValidationRule3.png)
6. 式エディターを使用して検証ルールを設定します。使用する正しいメソッドの詳細は、[XPathファンクションのオンラインヘルプ](https://www.w3.org/TR/1999/REC-xpath-19991116/#corelib)をご覧ください。

   この例では、エージェントIdがFirstname属性の最初の3文字とLastname属性の最初の2文字を連結した結果と一致していることを確認する必要があります。

   ルールの先頭にあるドットはコンテキスト属性(この例ではId)を参照します。次に、substringファンクションで抽出された属性文字をconcatファンクションで連結する必要があります。

   OKをクリックして式エディターを閉じます。

   検証ルールが[Expression] (式)フィールドに表示されます。
7. [Set the Validation Rules] (検証ルールを設定)ダイアログボックスで[Message] (メッセージ)カラムをクリックし、[...]ボタンをクリックしてダイアログボックスを開きます。ここで、この検証ルールに一致しないエージェントIDを持つレコードを保存しようとした時に表示されるエラーメッセージを設定できます。

   ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/DataModel_ValidationRule4.png)
8. メッセージの言語を言語リストから選択し、エラーメッセージを入力し、[+]ボタンをクリックして、メッセージをリストに追加します。
9. 必要に応じて、オペレーションを繰り返して別の言語でエラーメッセージを追加し、OKをクリックしてダイアログボックスを閉じます。

   定義したエラーメッセージは、[Set the Validation Rules] (検証ルールを設定)ダイアログボックスの[Message] (メッセージ)カラムに表示されます。
10. [Set the Validation Rules] (検証ルールを設定)ダイアログボックスでOKをクリックして変更を確定し、ダイアログボックスを閉じます。
11. データモデルを保存します。