Skip to content

EasyAdmin Textarea Field

Edit this page

This field is used to represent any kind of long text content. For short text contents, use /fields/TextField.

In form pages (edit and new) it looks like this:

Default style of EasyAdmin textarea field

Tip

EasyAdmin provides other fields for long text contents: TextEditorField is ideal for contents such as blog posts or doc pages; CodeEditorField is ideal to edit and store any kind of source code.

Basic Information

  • PHP Class: EasyCorp\Bundle\EasyAdminBundle\Field\TextareaField
  • Doctrine DBAL Type used to store this value: text
  • Symfony Form Type used to render the field: TextareaType
  • Rendered as:

    1
    <textarea> ... </textarea>

Options

renderAsHtml

In read-only pages (index and detail), text contents are escaped (using htmlspecialchars()) before displaying them. If you have some field where you want to render HTML tags instead of escaping them, add this option:

1
yield TextareaField::new('...')->renderAsHtml();

setMaxLength

By default, text contents are displayed in full in the detail page and are truncated to a maximum of 64 characters in index page. Use this option to set the maximum in both detail and index pages:

1
2
3
4
5
yield TextareaField::new('...')->setMaxLength(15);

// inside configureFields() you have access to the current page name
// use it to set different values per page
yield TextareaField::new('...')->setMaxLength($pageName === Crud::PAGE_DETAIL ? 1024 : 32);

This option only has effect in read-only pages (index and detail). In form pages (new and edit) contents are never truncated in length.

Note

This option is ignored when also using the renderAsHtml() option, to avoid truncating contents in the middle of an opened HTML tag.

setNumOfRows

The height of the <textarea> element used in form pages (new and edit) is as large as needed to display its contents. This height also grows dynamically (via JavaScript) to always match the number of rows of its contents.

This option sets the number of rows displayed when the field contents are empty. By default, the initial height is small (5 rows), so it's a good idea to increase this value when the expected content is much longer (e.g. a blog post):

1
yield TextareaField::new('...')->setNumOfRows(30);

stripTags

By default, contents are escaped before displaying them. If you prefer, you can strip HTML tags using this option (which internally calls to strip_tags() PHP function):

// if original contents are `<strong>foo</strong>`, it only displays `foo` yield TextareaField::new('...')->stripTags();

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.
TOC
    Version