You are here

public function FieldItemList::defaultValuesFormValidate in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Field/FieldItemList.php \Drupal\Core\Field\FieldItemList::defaultValuesFormValidate()
  2. 10 core/lib/Drupal/Core/Field/FieldItemList.php \Drupal\Core\Field\FieldItemList::defaultValuesFormValidate()

Validates the submitted default value.

Invoked from \Drupal\field_ui\Form\FieldConfigEditForm to allow administrators to configure instance-level default value.

Parameters

array $element: The default value form element.

array $form: The form where the settings form is being included in.

\Drupal\Core\Form\FormStateInterface $form_state: The form state of the (entire) configuration form.

Overrides FieldItemListInterface::defaultValuesFormValidate

1 method overrides FieldItemList::defaultValuesFormValidate()
DateTimeFieldItemList::defaultValuesFormValidate in core/modules/datetime/src/Plugin/Field/FieldType/DateTimeFieldItemList.php
Validates the submitted default value.

File

core/lib/Drupal/Core/Field/FieldItemList.php, line 300

Class

FieldItemList
Represents an entity field; that is, a list of field item objects.

Namespace

Drupal\Core\Field

Code

public function defaultValuesFormValidate(array $element, array &$form, FormStateInterface $form_state) {

  // Extract the submitted value, and validate it.
  if ($widget = $this
    ->defaultValueWidget($form_state)) {
    $widget
      ->extractFormValues($this, $element, $form_state);

    // Force a non-required field definition.
    // @see self::defaultValueWidget().
    $this
      ->getFieldDefinition()
      ->setRequired(FALSE);
    $violations = $this
      ->validate();

    // Assign reported errors to the correct form element.
    if (count($violations)) {
      $widget
        ->flagErrors($this, $violations, $element, $form_state);
    }
  }
}