Skip to main content
long_text renders a multi-line textarea. It is the right choice for messages, descriptions, open-ended answers, and any value where the user needs more than one line. Submission value type: string

Field properties

PropertyTypeRequiredDescription
idstringYesUnique identifier within the form. Becomes the key in submission data.
type"long_text"YesMust be long_text.
labelstring | LocaleMapYesLabel shown above the textarea.
placeholderstring | LocaleMapNoPlaceholder text shown inside the textarea when empty.
validatorsValidator[]NoValidation rules applied before the section is submitted.
visible_whenstringNoJS expression; field is shown when truthy, hidden otherwise. Hidden fields are excluded from submission data.

Validators

required

Field must not be empty.
validators:
  - required
Default error message: This field is required.

type: pattern

Input must match a regular expression. The pattern is tested against the full text.
validators:
  - type: pattern
    regex: "\\S+"
    message: Please enter a non-empty response.
PropertyTypeRequiredDescription
regexstringYesRegular expression to match against.
messagestring | LocaleMapNoError shown when the pattern does not match.
Default error message: Please match the required format.

type: min

Minimum character count. The field is invalid if the submitted string has fewer than value characters.
validators:
  - type: min
    value: 50
    message: Please write at least 50 characters.
PropertyTypeRequiredDescription
valuenumberYesMinimum number of characters.
messagestring | LocaleMapNoError shown when the input is too short.
Default error message: Must be at least {value} characters.

type: max

Maximum character count. Useful for keeping responses focused and limiting storage size.
validators:
  - type: max
    value: 2000
    message: Please keep your response under 2000 characters.
PropertyTypeRequiredDescription
valuenumberYesMaximum number of characters.
messagestring | LocaleMapNoError shown when the input is too long.
Default error message: Must be no more than {value} characters.
Validators run in the browser before each section is submitted. They enforce UX constraints, not security guarantees. If you need server-side validation, implement it in your webhook receiver.

Full example

A feedback form with a long_text message field requiring between 50 and 2000 characters:
version: 1
title: Share your feedback
sections:
  - id: main
    title: We'd love to hear from you
    fields:
      - id: name
        type: short_text
        label: Your name
        validators:
          - required
      - id: message
        type: long_text
        label: Your message
        placeholder: Tell us what you think...
        validators:
          - required
          - type: min
            value: 50
            message: Please write at least 50 characters so we can understand your feedback.
          - type: max
            value: 2000
            message: Please keep your response under 2000 characters.
    next: done