The EntityForm Interface family
Here is a high-level overview of the interfaces used to build forms.
The intention is to give an overview of the available building blocks for customizations.
The details are covered later.
There are two implementations of this interface:
We do not expect the interfaces to be implemented as part of customizations (even though that would technically be possible).
A form element is anything in a form: an input, an informational text, a graphic, a separator, or anything else.
Form elements can be placed in a hierarchy so groups of related elements are rendered together.
In a nutshell, form fields are input elements.
They inherit from
Form modifiers are used to register callbacks for form events.
They are the entry point for most customizations.
This is another interface you will probably never implement yourself.
The default implementation can be used to apply customizations to how elements are rendered.
Each entity form has a matching form save service.
Should you ever implement
EntityFormInterface, you will also need to create a matching
There checkout has a form save service for shipping addresses and one for billing addresses.