interface EntityFormDisplayInterface in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Entity/Display/EntityFormDisplayInterface.php \Drupal\Core\Entity\Display\EntityFormDisplayInterface
- 10 core/lib/Drupal/Core/Entity/Display/EntityFormDisplayInterface.php \Drupal\Core\Entity\Display\EntityFormDisplayInterface
Provides a common interface for entity form displays.
Hierarchy
- interface \Drupal\Core\Config\Entity\ConfigEntityInterface; interface \Drupal\Core\Entity\EntityWithPluginCollectionInterface
- interface \Drupal\Core\Entity\Display\EntityDisplayInterface
- interface \Drupal\Core\Entity\Display\EntityFormDisplayInterface
- interface \Drupal\Core\Entity\Display\EntityDisplayInterface
Expanded class hierarchy of EntityFormDisplayInterface
All classes that implement EntityFormDisplayInterface
12 files declare their use of EntityFormDisplayInterface
- ContentEntityForm.php in core/
lib/ Drupal/ Core/ Entity/ ContentEntityForm.php - ContentEntityFormInterface.php in core/
lib/ Drupal/ Core/ Entity/ ContentEntityFormInterface.php - content_moderation.module in core/
modules/ content_moderation/ content_moderation.module - Contains content_moderation.module.
- EntityDisplayRepositoryTest.php in core/
tests/ Drupal/ KernelTests/ Core/ Entity/ EntityDisplayRepositoryTest.php - EntityFormDisplay.php in core/
lib/ Drupal/ Core/ Entity/ Entity/ EntityFormDisplay.php
File
- core/
lib/ Drupal/ Core/ Entity/ Display/ EntityFormDisplayInterface.php, line 12
Namespace
Drupal\Core\Entity\DisplayView source
interface EntityFormDisplayInterface extends EntityDisplayInterface {
/**
* Adds field widgets to an entity form.
*
* The form elements for the entity's fields are added by reference as direct
* children in the $form parameter. This parameter can be a full form
* structure (most common case for entity edit forms), or a sub-element of a
* larger form.
*
* By default, submitted field values appear at the top-level of
* $form_state->getValues(). A different location within
* $form_state->getValues() can be specified by setting the '#parents'
* property on the incoming $form parameter. Because of name clashes, two
* instances of the same field cannot appear within the same $form element, or
* within the same '#parents' space.
*
* Sample resulting structure in $form:
* @code
* '#parents' => The location of field values in $form_state->getValues(),
* '#entity_type' => The name of the entity type,
* '#bundle' => The name of the bundle,
* // One sub-array per field appearing in the entity, keyed by field name.
* // The structure of the array differs slightly depending on whether the
* // widget is 'single-value' (provides the input for one field value,
* // most common case), and will therefore be repeated as many times as
* // needed, or 'multiple-values' (one single widget allows the input of
* // several values; e.g., checkboxes, select box, etc.).
* 'field_foo' => array(
* '#access' => TRUE if the current user has 'edit' grants for the field,
* FALSE if not.
* 'widget' => array(
* '#field_name' => The name of the field,
* '#title' => The label of the field,
* '#description' => The description text for the field,
* '#required' => Whether or not the field is required,
* '#field_parents' => The 'parents' space for the field in the form,
* equal to the #parents property of the $form parameter received by
* this method,
*
* // For 'multiple-value' widgets, the remaining elements in the
* // sub-array depend on the widget.
*
* // For 'single-value' widgets:
* '#theme' => 'field_multiple_value_form',
* '#cardinality' => The field cardinality,
* '#cardinality_multiple' => TRUE if the field can contain multiple
* items, FALSE otherwise.
* // One sub-array per copy of the widget, keyed by delta.
* 0 => array(
* '#title' => The title to be displayed by the widget,
* '#description' => The description text for the field,
* '#required' => Whether the widget should be marked required,
* '#delta' => 0,
* '#weight' => 0,
* '#field_parents' => Same as above,
* // The remaining elements in the sub-array depend on the widget.
* ...
* ),
* 1 => array(
* ...
* ),
* ...
* ),
* ...
* ),
* )
* @endcode
*
* Additionally, some processing data is placed in $form_state, and can be
* accessed by \Drupal\Core\Field\WidgetBaseInterface::getWidgetState() and
* \Drupal\Core\Field\WidgetBaseInterface::setWidgetState().
*
* @param \Drupal\Core\Entity\FieldableEntityInterface $entity
* The entity.
* @param array $form
* The form structure to fill in. This can be a full form structure, or a
* sub-element of a larger form. The #parents property can be set to
* control the location of submitted field values within
* $form_state->getValues(). If not specified, $form['#parents'] is set to
* an empty array, which results in field values located at the top-level of
* $form_state->getValues().
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The form state.
*/
public function buildForm(FieldableEntityInterface $entity, array &$form, FormStateInterface $form_state);
/**
* Extracts field values from the submitted widget values into the entity.
*
* This accounts for drag-and-drop reordering of field values, and filtering
* of empty values.
*
* @param \Drupal\Core\Entity\FieldableEntityInterface $entity
* The entity.
* @param array $form
* The form structure where field elements are attached to. This might be a
* full form structure, or a sub-element of a larger form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The form state.
*
* @return array
* An array whose keys and values are the keys of the top-level entries in
* $form_state->getValues() that have been processed. The remaining entries,
* if any, do not correspond to widgets and should be extracted manually by
* the caller if needed.
*/
public function extractFormValues(FieldableEntityInterface $entity, array &$form, FormStateInterface $form_state);
/**
* Validates submitted widget values and sets the corresponding form errors.
*
* This method invokes entity validation and takes care of flagging them on
* the form. This is particularly useful when all elements on the form are
* managed by the form display.
*
* As an alternative, entity validation can be invoked separately such that
* some violations can be flagged manually. In that case
* \Drupal\Core\Entity\Display\EntityFormDisplayInterface::flagViolations()
* must be used for flagging violations related to the form display.
*
* Note that there are two levels of validation for fields in forms: widget
* validation and field validation:
* - Widget validation steps are specific to a given widget's own form
* structure and UI metaphors. They are executed during normal form
* validation, usually through Form API's #element_validate property.
* Errors reported at this level are typically those that prevent the
* extraction of proper field values from the submitted form input.
* - If no form / widget errors were reported for the field, field validation
* steps are performed according to the "constraints" specified by the
* field definition as part of the entity validation. That validation is
* independent of the specific widget being used in a given form, and is
* also performed on REST entity submissions.
*
* @param \Drupal\Core\Entity\FieldableEntityInterface $entity
* The entity.
* @param array $form
* The form structure where field elements are attached to. This might be a
* full form structure, or a sub-element of a larger form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The form state.
*/
public function validateFormValues(FieldableEntityInterface $entity, array &$form, FormStateInterface $form_state);
/**
* Flags entity validation violations as form errors.
*
* This method processes all violations passed, thus any violations not
* related to fields of the form display must be processed before this method
* is invoked.
*
* The method flags constraint violations related to fields shown on the
* form as form errors on the correct form elements. Possibly pre-existing
* violations of hidden fields (so fields not appearing in the display) are
* ignored. Other, non-field related violations are passed through and set as
* form errors according to the property path of the violations.
*
* @param \Drupal\Core\Entity\EntityConstraintViolationListInterface $violations
* The violations to flag.
* @param array $form
* The form structure where field elements are attached to. This might be a
* full form structure, or a sub-element of a larger form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The form state.
*/
public function flagWidgetsErrorsFromViolations(EntityConstraintViolationListInterface $violations, array &$form, FormStateInterface $form_state);
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AccessibleInterface:: |
public | function | Checks data value access. | 9 |
CacheableDependencyInterface:: |
public | function | The cache contexts associated with this object. | 34 |
CacheableDependencyInterface:: |
public | function | The maximum age for which this object may be cached. | 34 |
CacheableDependencyInterface:: |
public | function | The cache tags associated with this object. | 27 |
ConfigEntityInterface:: |
public | function | Calculates dependencies and stores them in the dependency property. | 2 |
ConfigEntityInterface:: |
public | function | Disables the configuration entity. | 2 |
ConfigEntityInterface:: |
public | function | Enables the configuration entity. | 2 |
ConfigEntityInterface:: |
public | function | Returns the value of a property. | 2 |
ConfigEntityInterface:: |
public | function | Gets the configuration dependencies. | 2 |
ConfigEntityInterface:: |
public | function | Gets whether on not the data is trusted. | 2 |
ConfigEntityInterface:: |
public | function | Checks whether this entity is installable. | 2 |
ConfigEntityInterface:: |
public | function | Returns whether this entity is being changed during the uninstall process. | 2 |
ConfigEntityInterface:: |
public | function | Informs the entity that entities it depends on will be deleted. | 2 |
ConfigEntityInterface:: |
public | function | Sets the value of a property. | 2 |
ConfigEntityInterface:: |
public | function | Sets the status of the configuration entity. | 2 |
ConfigEntityInterface:: |
public | function | Returns whether the configuration entity is enabled. | 2 |
ConfigEntityInterface:: |
public | function | Sets that the data should be trusted. | 2 |
EntityDisplayInterface:: |
public | function | Creates a duplicate of the entity display object on a different view mode. | 1 |
EntityDisplayInterface:: |
public | function | Gets the display options set for a component. | 1 |
EntityDisplayInterface:: |
public | function | Gets the display options for all components. | 1 |
EntityDisplayInterface:: |
public | function | Gets the highest weight of the components in the display. | 1 |
EntityDisplayInterface:: |
public | function | Gets the view or form mode to be displayed. | 1 |
EntityDisplayInterface:: |
public | function | Gets the original view or form mode that was requested. | 1 |
EntityDisplayInterface:: |
public | function | Gets the renderer plugin for a field (e.g. widget, formatter). | 2 |
EntityDisplayInterface:: |
public | function | Gets the bundle to be displayed. | 1 |
EntityDisplayInterface:: |
public | function | Gets the entity type for which this display is used. | 1 |
EntityDisplayInterface:: |
public | function | Sets a component to be hidden. | 1 |
EntityDisplayInterface:: |
public | function | Sets the display options for a component. | 1 |
EntityDisplayInterface:: |
public | function | Sets the bundle to be displayed. | 1 |
EntityFormDisplayInterface:: |
public | function | Adds field widgets to an entity form. | 1 |
EntityFormDisplayInterface:: |
public | function | Extracts field values from the submitted widget values into the entity. | 1 |
EntityFormDisplayInterface:: |
public | function | Flags entity validation violations as form errors. | 1 |
EntityFormDisplayInterface:: |
public | function | Validates submitted widget values and sets the corresponding form errors. | 1 |
EntityInterface:: |
public | function | Gets the bundle of the entity. | 2 |
EntityInterface:: |
public static | function | Constructs a new entity object, without permanently saving it. | 2 |
EntityInterface:: |
public | function | Creates a duplicate of the entity. | 2 |
EntityInterface:: |
public | function | Deletes an entity permanently. | 2 |
EntityInterface:: |
public | function | Enforces an entity to be new. | 2 |
EntityInterface:: |
public | function | Returns the cache tags that should be used to invalidate caches. | 2 |
EntityInterface:: |
public | function | Gets the key that is used to store configuration dependencies. | 2 |
EntityInterface:: |
public | function | Gets the configuration dependency name. | 2 |
EntityInterface:: |
public | function | Gets the configuration target identifier for the entity. | 2 |
EntityInterface:: |
public | function | Gets the entity type definition. | 2 |
EntityInterface:: |
public | function | Gets the ID of the type of the entity. | 2 |
EntityInterface:: |
public | function | Gets the original ID. | 2 |
EntityInterface:: |
public | function | Gets a typed data object for this entity object. | 2 |
EntityInterface:: |
public | function | Indicates if a link template exists for a given key. | 2 |
EntityInterface:: |
public | function | Gets the identifier. | 2 |
EntityInterface:: |
public | function | Determines whether the entity is new. | 2 |
EntityInterface:: |
public | function | Gets the label of the entity. | 2 |
EntityInterface:: |
public | function | Gets the language of the entity. | 2 |
EntityInterface:: |
public static | function | Loads an entity. | 2 |
EntityInterface:: |
public static | function | Loads one or more entities. | 2 |
EntityInterface:: |
public | function | Acts on a created entity before hooks are invoked. | 2 |
EntityInterface:: |
public static | function | Acts on deleted entities before the delete hook is invoked. | 2 |
EntityInterface:: |
public static | function | Acts on loaded entities. | 3 |
EntityInterface:: |
public | function | Acts on a saved entity before the insert or update hook is invoked. | 2 |
EntityInterface:: |
public static | function | Changes the values of an entity before it is created. | 2 |
EntityInterface:: |
public static | function | Acts on entities before they are deleted and before hooks are invoked. | 2 |
EntityInterface:: |
public | function | Acts on an entity before the presave hook is invoked. | 2 |
EntityInterface:: |
public | function | Gets a list of entities referenced by this entity. | 2 |
EntityInterface:: |
public | function | Saves an entity permanently. | 2 |
EntityInterface:: |
public | function | Sets the original ID. | 2 |
EntityInterface:: |
public | function | Gets an array of all property values. | 3 |
EntityInterface:: |
public | function | Generates the HTML for a link to this entity. | 2 |
EntityInterface:: |
public | function | Gets the URL object for the entity. | 2 |
EntityInterface:: |
public | function | Gets a list of URI relationships supported by this entity. | 2 |
EntityInterface:: |
public | function | Gets the entity UUID (Universally Unique Identifier). | 2 |
ObjectWithPluginCollectionInterface:: |
public | function | Gets the plugin collections used by this object. | 11 |
RefinableCacheableDependencyInterface:: |
public | function | Adds a dependency on an object: merges its cacheability metadata. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds cache contexts. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds cache tags. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Merges the maximum age (in seconds) with the existing maximum age. | 1 |
SynchronizableInterface:: |
public | function | Returns whether this entity is being changed as part of a synchronization. | 1 |
SynchronizableInterface:: |
public | function | Sets the status of the synchronization flag. | 1 |
ThirdPartySettingsInterface:: |
public | function | Gets the list of third parties that store information. | 5 |
ThirdPartySettingsInterface:: |
public | function | Gets the value of a third-party setting. | 5 |
ThirdPartySettingsInterface:: |
public | function | Gets all third-party settings of a given module. | 5 |
ThirdPartySettingsInterface:: |
public | function | Sets the value of a third-party setting. | 5 |
ThirdPartySettingsInterface:: |
public | function | Unsets a third-party setting. | 5 |