{% if error %}
{{ error }}
{% endif %}
Select type for explicit behavior, or leave as auto-detect
"all" or comma-separated entity names
Override the default error message
Logical expression over field names. It asks only whether a field has a value; to depend on what the value is, use the requirement below instead. A rule cannot use both.
{% if when_rows is none %}

{{ when_text }}
This predicate nests, which this editor cannot show as rows. It is kept as written; edit it in the YAML.

{% else %}
{% for row in when_rows %}
{% endfor %}

Reads the record's own fields. Values are read as YAML.

{% endif %}
{% for option in list_fields %} {% endfor %}
{% if where_rows is none %}

{{ where_text }}
This predicate nests, which this editor cannot show as rows. It is kept as written; edit it in the YAML.

{% else %}
{% for row in where_rows %}
{% endfor %}

Values are read as YAML: true is a boolean, 3 a number, [a, b] a list, anything else text. Leave empty to count every item.

{% endif %}
Entity.field for integrity checks
Prefer field constraints for patterns
Prefer field constraints for enums