Repeat Page
Allows the user to add multiple sets of answers to the same group of questions. Answers are stored as an array under the key defined by repeat.options.name.
- Controller value:
"RepeatPageController"
JSON definition
{ "path": "/page-path", "controller": "RepeatPageController", "title": "Page title", "components": [], "repeat": { "options": { "name": "", "title": "" }, "schema": { "max": 0, "min": 0 } }}Configuration
| Property | Type | Required | Description |
|---|---|---|---|
components | ComponentDef[] | Yes | Array of component definitions rendered on the page. |
condition | string | No | Name of a condition that controls whether this page is shown. |
controller | ControllerType.Repeat | Yes | The page controller class name. Omit or use "PageController" for the default question page. |
events | Events | No | Lifecycle hooks that fire when the page is loaded or saved. |
id | string | No | Stable identifier for the page, used internally by the form engine. |
path | string | Yes | URL path segment for the page (e.g. /details). |
repeat.options.name | string | Yes | Identifier for the repeatable section, used as the key in form state. |
repeat.options.title | string | Yes | Label displayed per repeated item in the list summary. |
repeat.schema.max | number | Yes | Maximum number of items the user can add. Cannot exceed 200. |
repeat.schema.min | number | Yes | Minimum number of items the user must add. |
section | string | No | Name of a section that groups this page in the form. |
title | string | Yes | Heading displayed to the user at the top of the page. |
view | string | No | Name of an alternative view template to render for this page. |