Introduction 

What does it do? 

The typo3/cms-form extension is a system extension that provides a flexible, extendable, and easy-to-use form framework. It incorporates interfaces and functionality that allow editors, integrators and developers to build forms.

Non-technical editors can use the Content > Forms backend module. They can create and manage forms using a simple drag and drop interface. Forms can be previewed instantly.

Experienced integrators can build ambitious forms which are stored in a site package. These forms can use powerful finishers and ship localization files.

Developers can use the PHP API to create interfaces with conditional form elements, register new validators and finishers, as well as create custom form elements. Plenty of hooks allow form creation and processing to be manipulated.

The form creation wizard

Form editor displaying a new form in the abstract view

Features list 

Here are some of the features of the form framework:

  • form editor

    • fully customizable editor for building complex forms
    • replaceable and extendable form editor components
    • JS API to extend form editor
  • PHP API

    • entire forms via API
    • own renderers for form and/ or form elements
    • conditional steps, form elements and validators based on other form elements
  • configuration

    • YAML as configuration and definition language including inheritance and overrides
    • file based
    • behaviour and design of the frontend, plugin, and form editor can be adapted for individual forms
    • 'prototypes' can be used as boilerplate
  • form elements

    • own form elements possible
    • uploads handled as FAL objects
  • finishers

    • ships built-in finishers, like email, redirect, and save-to-database
    • own finishers possible
    • finisher configuration can be overridden in the form plugin
  • validators

    • own validators possible
  • miscellaneous

    • multiple languages support
    • multiple steps support
    • multiple forms on one page
    • built-in spam protection (honeypot)