TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:24 +02:00
commit aad9daaefd
1506 changed files with 94005 additions and 0 deletions
@@ -0,0 +1,113 @@
.. include:: /Includes.rst.txt
.. _concepts-formdefinition-vs-formconfiguration:
Form configuration vs. form definition
======================================
Up to this point, we have mainly looked at form framework configuration.
In short, **form configuration** is based on *prototypes* and allows you to define:
- which form elements, finishers, and validators are available to the system,
- how they are pre-configured,
- how they are displayed in the frontend and backend.
However, a second important part of the form framework is **form definition**,
which is configuration but for *specific* forms, for example the ones users define. Form
definition includes:
- form elements and their validators,
- the order of the form elements on the form
- the finishers that are fired when the form is submitted
- values of form element properties.
In other words, a ``Text`` form element would be defined in **form configuration**
but a ``Text`` form element located on page 1 at position 1 of a specific form
would be defined in a **form definition**. A **form definition** might also define
a placeholder (HTML attribute) with a value of "Your name
here" in a form element. Form definitions are created by the backend ``form editor``.
Example form definition (for a specific form)
---------------------------------------------
.. code-block:: yaml
identifier: ext-form-simple-contact-form-example
label: 'Simple Contact Form'
prototype: standard
type: Form
finishers:
-
identifier: EmailToReceiver
options:
subject: 'Your message'
recipients:
your.company@example.com: 'Your Company name'
ceo@example.com: 'CEO'
senderAddress: '{email}'
senderName: '{name}'
renderables:
-
identifier: page-1
label: 'Contact Form'
type: Page
renderables:
-
identifier: name
label: 'Name'
type: Text
properties:
fluidAdditionalAttributes:
placeholder: 'Name'
defaultValue: ''
validators:
-
identifier: NotEmpty
-
identifier: subject
label: 'Subject'
type: Text
properties:
fluidAdditionalAttributes:
placeholder: 'Subject'
defaultValue: ''
validators:
-
identifier: NotEmpty
-
identifier: email
label: 'Email'
type: Text
properties:
fluidAdditionalAttributes:
placeholder: 'Email address'
defaultValue: ''
validators:
-
identifier: NotEmpty
-
identifier: EmailAddress
-
identifier: message
label: 'Message'
type: Textarea
properties:
fluidAdditionalAttributes:
placeholder: ''
defaultValue: ''
validators:
-
identifier: NotEmpty
-
identifier: hidden
label: 'Hidden Field'
type: Hidden
-
identifier: summarypage
label: 'Summary page'
type: SummaryPage