(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)

Form

Overview

Example of a form

Specs

Tokens

Token Description
displayName Display name shown in the structure panel
layout Arrangement of form elements (horizontal or vertical)
paddingClass Spacing around the form using CSS classes
gapClass Spacing between form elements with row and column gaps
alignItemsClass Vertical alignment of form elements
justifyContentClass Horizontal alignment of form elements
canGrow Allows the form to expand vertically
canShrink Allows the form to contract vertically
defaultHeight Initial height of the form component
dataFormat Format for submitting form data (json or formdata)
additionalFormFields Extra non-visual fields included in form data
dataSourceId Data source ID for submitting form data
dataSourceHttpRequestParametersMap HTTP parameters mapping for form submission
staticValues Constant values included with each submission
getEntityDataSourceId Data source ID for retrieving entity data
getEntityHttpRequestParametersMap HTTP parameters mapping for retrieving entity data
events Configurable form events
ON_VALUES_CHANGE (Events) Event triggered when form values change
ON_INIT (Events) Event triggered when the form is initialized
ON_DESTROY (Events) Event triggered when the form is removed from the DOM
ON_FORM_SUBMIT (Events) Event triggered when the form is submitted

Structure

(Configured in General Properties)

(Configured in Datasource)

(Configured in Non-Visual Properties)

Layout of Additional Form Fields

(Configured in Visual Properties)

Styling

(Configured in Visual Properties)

Visual Properties Tab of the Form component

Actions & Variants

(Configured in Events)

Links

Guidelines

Tooltip

Example Form Tooltip

Helpertext top Helpertext inbetween

Usage

Use Case for the Tabs Form Conponent

Sizing & Layout

States & Feedback

Example form validation

Data-Driven / Conditional Behavior

Dos & Don’ts

Do Don’t Article setting(s)
Choose dataFormat to match the endpoint (use "formdata" for uploads). Mix uploads into a "json" payload the API won’t accept. dataFormat
Fetch the record on init so fields open pre-filled. Wait until first edit to request entity data. events.ON_INIT, getEntityDataSourceId, getEntityHttpRequestParametersMap
Map every required parameter explicitly. Assume backend defaults will infer missing keys. dataSourceHttpRequestParametersMap, dataSourceId
Keep long forms readable with a vertical flow. Cram many fields side-by-side. layout: "vertical"
Space and align consistently using classes. Insert spacer elements or rely on random defaults. paddingClass, gapClass, alignItemsClass, justifyContentClass
Let the form adapt to content growth. Fix the height and allow content to overflow. defaultHeight, canGrow, canShrink
Block submit when client checks fail. Submit and rely only on server errors. events.ON_FORM_SUBMIT
Add constant metadata in one place. Scatter hidden fields across child controls. staticValues, additionalFormFields

Accessibility