Field Validation Reference
This is the complete validation option reference for all Report Forge blueprint field types. For the conceptual guide and configuration steps, see Data Validation Rules.
Validation option table
| Field type | Required | Min value | Max value | Min length | Max length | Pattern (regex) | Min date | Max date | Min selections | Max selections | Behaviour |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Text | ✓ | — | — | ✓ | ✓ | ✓ | — | — | — | — | Warn / Block |
| Textarea | ✓ | — | — | ✓ | ✓ | — | — | — | — | — | Warn / Block |
| Rich text | ✓ | — | — | ✓ (chars) | ✓ (chars) | — | — | — | — | — | Warn / Block |
| Number | ✓ | ✓ | ✓ | — | — | — | — | — | — | — | Warn / Block |
| Currency | ✓ | ✓ | ✓ | — | — | — | — | — | — | — | Warn / Block |
| Percent | ✓ | ✓ (decimal) | ✓ (decimal) | — | — | — | — | — | — | — | Warn / Block |
| Date | ✓ | — | — | — | — | — | ✓ | ✓ | — | — | Warn / Block |
| Datetime | ✓ | — | — | — | — | — | ✓ | ✓ | — | — | Warn / Block |
| Select | ✓ | — | — | — | — | — | — | — | — | — | Block only |
| Multi-select | ✓ | — | — | — | — | — | — | — | ✓ | ✓ | Warn / Block |
| Toggle | — | — | — | — | — | — | — | — | — | — | — |
| RAG | ✓ | — | — | — | — | — | — | — | — | — | Block only |
| Rating | ✓ | ✓ (int) | ✓ (int) | — | — | — | — | — | — | — | Block only |
| Image | ✓ | — | — | — | — | — | — | — | ✓ (min files) | ✓ (max files) | Block only |
| File | ✓ | — | — | — | — | — | — | — | ✓ (min files) | ✓ (max files) | Block only |
| URL | ✓ | — | — | — | — | URL format (built-in) | — | — | — | — | Block only |
| ✓ | — | — | — | — | RFC 5322 (built-in) | — | — | — | — | Block only | |
| Computed | — | — | — | — | — | — | — | — | — | — | — |
| Lookup | — | — | — | — | — | — | — | — | — | — | — |
Legend:
- ✓ = Validation option is available for this field type
- — = Not applicable or not available
Numeric field validation details
Number, Currency, Percent
| Property | Type | Notes |
|---|---|---|
| Min value | Number (stored type) | For Percent: use decimal (0.0–1.0). For Currency: value in base currency units. |
| Max value | Number (stored type) | Same as min value notes. |
| Behaviour | Warn or Block | Block prevents section completion. Warn allows submission with a warning count. |
| Validation message | Text | Shown to contributor when validation fails. Max 200 characters. |
Percent field note: Percent fields store values as decimals. A min of 0 and max of 1 enforces 0%–100%. A value of 0.75 is displayed as 75%.
Text field validation details
Text, Textarea
| Property | Type | Notes |
|---|---|---|
| Required | Boolean | Empty string fails required validation. Whitespace-only string also fails. |
| Min length | Integer | Minimum number of characters (after trimming whitespace). |
| Max length | Integer | Maximum number of characters. Also configurable on the field as a display property. |
| Pattern | Regex string | ECMAScript regex. Applied to the full field value. |
| Behaviour | Warn or Block | Applies to min length, max length, and pattern rules. Required is always Block. |
Rich text
Rich text validation checks the rendered text content (HTML stripped), not the raw HTML. The character count applies to the visible text.
Date field validation details
Date, Datetime
| Property | Type | Notes |
|---|---|---|
| Required | Boolean | Empty date fails required. |
| Min date | Fixed date, or token: today, edition_start, edition_end, edition_data_date | |
| Max date | Fixed date, or token | |
| Behaviour | Warn or Block |
Token reference:
| Token | Resolves at validation time to |
|---|---|
today | Current calendar date (server time, workspace timezone) |
edition_start | Edition reporting period start date |
edition_end | Edition reporting period end date |
edition_data_date | Edition data date |
Datetime fields: Min and max date apply to the date component only. The time component is not independently validated.
Select and Multi-select validation details
Select
Select fields implicitly validate against the configured option list — a value not in the list cannot be entered (unless "Allow other" is enabled).
Required: If required is set, the field cannot be left at its "no selection" state (blank / null).
Pattern for "Allow other" free text: When "Allow other" is enabled, a Pattern (regex) rule can be applied to the free-text entry.
Multi-select
| Property | Type | Notes |
|---|---|---|
| Required | Boolean | At least one selection must be made. |
| Min selections | Integer | Minimum number of options that must be selected. |
| Max selections | Integer | Maximum number of options that can be selected. |
| Behaviour | Warn or Block | Applies to min/max selections. Required is always Block. |
File and Image validation details
Image
| Property | Notes |
|---|---|
| Required | At least one image must be uploaded. |
| Min files | Minimum number of images. |
| Max files | Maximum number of images. |
| Accepted formats | JPEG, PNG, GIF, WebP, SVG (configured on the field, not as a validation rule). |
| Max file size | Per-file limit (configured on the field). |
File
| Property | Notes |
|---|---|
| Required | At least one file must be attached. |
| Min files | Minimum number of attachments. |
| Max files | Maximum number of attachments. |
| Accepted MIME types | Configured on the field. Attempting to upload a disallowed type produces an upload error (not a validation rule error). |
Cross-field validation rules
Cross-field validation rules are configured at the section level, not on individual fields. They reference one or more fields.
| Rule type | Description | Supported field types |
|---|---|---|
| Field A ≤ Field B | Value of Field A must be ≤ value of Field B | Number, Currency, Percent, Date |
| Field A < Field B | Strict less than | Number, Currency, Percent, Date |
| Field A ≥ Field B | Greater than or equal | Number, Currency, Percent, Date |
| Field A > Field B | Strict greater than | Number, Currency, Percent, Date |
| Field A = Field B | Must equal | Number, Currency, Text, Select, Date |
| Field A ≠ Field B | Must not equal | Number, Currency, Text, Select, Date |
| Conditional requirement | If Field A = value → Field B is required | Any field A; any field B |
| Conditional range | If Field A = value → Field B must satisfy min/max | Any field A; numeric/date field B |
| Conditional pattern | If Field A = value → Field B must match regex | Any field A; Text field B |
Behaviour for cross-field rules
All cross-field rules support Warn or Block behaviour independently of the individual field's own validation rules.
Validation summary panel — section status indicators
| Indicator | Meaning |
|---|---|
| Green tick | All required fields completed, no Block failures |
| Yellow dot | Warn-mode validation failures present, but section can be completed |
| Red X | One or more Block-mode failures, or required fields empty — section cannot be completed |
| Grey circle | Section not yet visited |
Related
- Data Validation Rules — configuring validation in blueprints (guide)
- Blueprint Field Types — all field types and their properties
- Expression Reference — for expression-based validation in computed fields