Data Validation in Composer lets you define rules that verify the integrity of your application's data before it is published or promoted to production. Run validations on demand to catch schema mismatches, missing required values, broken references, and constraint violations across nodes, links, and insights.
Table of Contents
- Prerequisites
- How Data Validation Works
- Creating a Rule Group
- Adding a Validation Rule
- Running a Validation
- Reviewing Results
- Building a Validation Expression
- Troubleshooting Common Issues
Prerequisites
- Access to Composer
- An architecture selected in your current session
- Resources configured in your application (nodes, links, insights)
How Data Validation Works
Data Validation checks your application's data against rules you define. Rules are organized into rule groups, and each rule targets a specific resource — a Node, Link, or Insight — with a condition that records must satisfy to pass. When you execute a rule group, Composer evaluates every rule in it and reports Passes and Violations for each resource checked.
Creating a Rule Group
- Open Composer > System Check > Data Validation.
- In the Manage Groups panel (left), click + New.
- Enter a Group Name and, optionally, a Description.
- Set Execute As Role if the validation should apply row-level security filters for a specific role. Leave it as "No Role (Full User Access)" to validate without role-based filtering.
- Click Save Group. The group can be reused for future runs and will hold one or more rules.
Adding a Validation Rule
Rules are created from the Manage Rules panel (right) and are always assigned to a rule group.
- Click + Add Rule.
- Under Rule Details, select the Rule Group, set a Severity (Info, Warning, or Error), and enter a Rule Title and optional Description.
- Under Target Resource, choose the Resource Type (Insight, Node, or Link) and the specific Resource to validate.
- If Custom Functions are defined for the selected Insight, they're available here for use in the expression.
- Under Validation Expression, build the condition that records must satisfy to pass.
- Click Save Rule.
Running a Validation
You can execute an entire rule group or a single rule:
- To run every rule in a group, click the Execute (play) icon next to the group in Manage Groups, then confirm on the "Execute Validation Group" prompt.
- To run just one rule, click the Execute (play) icon on that rule's row in Manage Rules.
A confirmation banner reports the outcome, for example: Group "[Group Name]" completed with [n] violations. The Last Run column updates with the timestamp of the most recent execution.
Reviewing Results
The Data Validation dashboard uses a 2-column layout:
| Column | What It Shows |
|---|---|
| Manage Groups (left) | All saved rule groups, with Execute, Edit, and Delete actions |
| Manage Rules (right) | All rules across your groups, with Severity, Last Run, and per-rule Execute, Row Data, Edit, and Delete actions. Filter by name, Severity, Group, or Resource. |
Click the Row Data (grid) icon on a rule's row to open its results. The window shows two tabs:
- Violations — records that failed the rule's condition, with a count badge
- Passes — records that met the condition (capped at 25 rows shown)
Building a Validation Expression
Validation Expressions are built with a filter/condition builder rather than a fixed list of rule types. Once a Resource is selected on a rule, the builder lets you add conditions against that resource's fields — for example checking that a field is not null, matching against an allowed value, or comparing against another field — and combine multiple conditions to define what a passing record looks like.
Troubleshooting Common Issues
| Issue | Resolution |
|---|---|
| Rule not saving | Ensure all required fields (Rule Group, Rule Title, Resource Type, Resource, and a validation expression) are filled in before saving |
| Execution shows no results | Verify that the selected Resource has data and that the target Node, Link, or Insight contains records |
| Unexpected violations on reference-based conditions | Check whether the referenced node has been recently modified or records deleted |
Related: Health Check — System Validation | Deployment — Releases & Pipelines
⚙ Troubleshooting & Known Issues
| Symptom | Cause | Resolution | Fixed In |
|---|---|---|---|
| The severity level (Info, Warning, or Error) set when creating a new validation rule did not save until the page was refreshed, severity badges were missing from Execution Details and View Report headers, and configuring custom validation functions with nodes and links threw an error that blocked saving. | The severity field was not being persisted on initial save, badge rendering was missing from result headers, and a connection-string issue broke custom validation function configuration. | All three issues are resolved — severity now saves immediately, badges appear in result headers, and custom validation functions with nodes and links can be saved without errors. | Recent Release |
| Validation rules and rule groups from one layer appeared and executed in other layers where they did not belong. | Rules were not scoped to the layer app they were created in. | Rules and their results are now correctly isolated to the layer they were created in. | Recent Release |