Advanced validation rules let you react to contextual data, enforce dependencies between properties, and design predictable nested schemas.Documentation Index
Fetch the complete documentation index at: https://docs.clinia.com/llms.txt
Use this file to discover all available pages before exploring further.
Conditional rules
Use thewhen clause to activate a rule only if a condition evaluates to true. The condition uses the same operators as the search DSL on the profile’s property paths.
Supported operators
Combine multiple rules in the same array to express complex validation logic.
Nested objects
when clauses reference properties from the root of the profile. For nested structures, use dot notation:
Arrays of objects
Similar to the above, when using an operator on a property that is inside of an array, two choices are possible:- If you want to test if at least one object/property of the array follows the clause, refer directly to the property (Inside or outside the array).
- If you want to test against another property in the same object (Property with the rule must also be in the same object), you can use the
[current]clause.
emailCC is required if ANY contact point system is of type "email"”:
emailCC is not required.
emailCC is required.
value must be defined if the contact system value is of type "email"”.
Cardinality
Cardinality expresses how many instances of a property are allowed within a complex type.| Notation | Name | Description | Validation |
|---|---|---|---|
0:1 | Zero to one | Optional property, maximum one value | Property can be omitted or appear once |
1:1 | One to one | Required property, exactly one value | Missing or duplicate values fail validation |
0:* | Zero to many | Optional property, unlimited values (arrays) | Property can be omitted or contain any number of elements |
1:* | One to many | Required property, at least one value (arrays) | Enforces a non-empty array |
Continue with vocabulary binding to link fields to controlled concept sets.