Appearance
Textarea
A multi-line text input field for collecting longer text. Renders as an HTML <textarea> element with label and validation.
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| name | text | '' | The field name. Must match your database column name for automatic form binding. |
| label | text | '' | The visible label displayed above the textarea. |
| placeholder | text | '' | Placeholder text shown when the textarea is empty. |
| required | boolean | false | Whether the field is required for form submission. |
| minLength | number | '' | Minimum character length. Leave empty for no minimum. |
| maxLength | number | '' | Maximum character length. Leave empty for no maximum. |
| value | text | '' | Pre-populate the textarea with a value. Supports expression binding (e.g., {{ item.description }}). |
Events
onChange-- Fires when the textarea value changes.onBlur-- Fires when the textarea loses focus.onFocus-- Fires when the textarea gains focus.
Example
A description field:
name: description
label: Description
placeholder: Describe your item...
required: true
maxLength: 2000A comments field:
name: comment
label: Leave a Comment
placeholder: Write your thoughts...
required: falseAn edit form field pre-populated with an existing value:
name: description
label: Description
value: "{{ item.description }}"
required: true
maxLength: 2000Tips
- Place inside a Form Container for the value to be included in form submissions.
- Control the textarea height via the Design tab (set
min-heightorheight). - For rich text formatting (bold, italic, links, lists), use the Rich Text widget instead.
- The
maxLengthproperty provides a client-side limit; always validate on the server with a Validate node.