Reference

Guide

Textarea

A textarea field, which auto-resizes and has built-in format buttons.

The textarea field creates a textarea for longer texts with automatic resizing and optional format buttons.

Example

fields:
  text:
    label: Text
    type: textarea

Field properties

Property Type Required Default Description
autofocus bool Sets the focus on this field when the form loads. Only the first field with this label gets
buttons mixed true Enables/disables the format buttons. Can either be true/false or a list of allowed buttons. Available buttons: headlines, italic, bold, link, email, file, list, code, ul, ol
counter bool true Enables/disables the character counter in the top right corner
default string Sets the default text when a new Page/File/User is created
disabled bool If true, the field is no longer editable and will not be saved
files mixed [] Sets the options for the files picker
help mixed Optional help text below the field
icon string Optional icon that will be shown at the end of the field
label mixed The field label can be set as string or associative array with translations
maxlength int Maximum number of allowed characters
minlength int Minimum number of required characters
placeholder mixed Optional placeholder value that will be shown when the field is empty
required bool If true, the field has to be filled in correctly to be saved.
size string Changes the size of the textarea. Available sizes: small, medium, large, huge
translate bool true If false, the field will be disabled in non-default languages and cannot be translated. This is only relevant in multi-language setups.
uploads mixed [] Sets the upload options for linked files
when mixed Conditions when the field will be shown
width string 1/1 The width of the field in the field grid. Available widths: 1/1, 1/2, 1/3, 1/4, 2/3, 3/4

Sizes

In some section layouts, a small textarea looks lost. The size option sets an initial default height for empty textareas before auto-sizing kicks in. Available sizes:

  • small
  • medium
  • large
  • huge
fields:
  text:
    label: Text
    type: textarea
    size: large

Toolbar

Disabling the toolbar

If the formatting toolbar should not be available, you can switch it off entirely:

fields:
  text:
    label: Text
    type: textarea
    buttons: false

Customizing the toolbar

You can also specify which buttons to show in the toolbar.

fields:
  text:
    label: Text
    type: textarea
    buttons:
      - link
      - email

File upload and select

Since 3.1.0

The file upload and select button is super useful if you want to embed images or other files right in your text.

You can define the button behavior with the files and uploads options:

textarea:
  type: textarea
  files: page.images
  uploads: textarea-upload

By default all files will be uploaded to the current page and without a predefined template. With the additional options you can fetch files from anywhere and upload them to specific pages. You can also control which file template should be assigned by default:

textarea:
  type: textarea
  files:
    query: site.find("media").files.template("textarea-upload")
    image:
      cover: true
  uploads:
    parent: site.find("media")
    template: textarea-upload

You can also deactivate file uploads:

textarea:
  type: textarea
  uploads: false

Length restrictions

You can control the maximal and/or minimal length of the entered text by using the maxlength and/or minlength option. A handy indicator of the current text length will be displayed in the upper right corner.

fields:
  name:
    label: Name
    type: textarea
    minlength: 10
    maxlength: 1000