/Drupal 8

function hook_field_widget_form_alter

hook_field_widget_form_alter(&$element, \Drupal\Core\Form\FormStateInterface $form_state, $context)

Alter forms for field widgets provided by other modules.


$element: The field widget form element as constructed by hook_field_widget_form().

$form_state: The current state of the form.

$context: An associative array containing the following key-value pairs:

  • form: The form structure to which widgets are being attached. This may be a full form structure, or a sub-element of a larger form.
  • widget: The widget plugin instance.
  • items: The field values, as a \Drupal\Core\Field\FieldItemListInterface object.
  • delta: The order of this item in the array of subelements (0, 1, 2, etc).
  • default: A boolean indicating whether the form is being shown as a dummy form to set default values.

See also



Related topics

Field Widget API
Define Field API widget types.
Define functions that alter the behavior of Drupal core.


core/modules/field/field.api.php, line 158
Field API documentation.


function hook_field_widget_form_alter(&$element, \Drupal\Core\Form\FormStateInterface $form_state, $context) {
  // Add a css class to widget form elements for all fields of type mytype.
  $field_definition = $context['items']->getFieldDefinition();
  if ($field_definition->getType() == 'mytype') {
    // Be sure not to overwrite existing attributes.
    $element['#attributes']['class'][] = 'myclass';

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.