You are here

public function DateRangeFieldItemList::defaultValuesFormValidate in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/datetime_range/src/Plugin/Field/FieldType/DateRangeFieldItemList.php \Drupal\datetime_range\Plugin\Field\FieldType\DateRangeFieldItemList::defaultValuesFormValidate()
  2. 10 core/modules/datetime_range/src/Plugin/Field/FieldType/DateRangeFieldItemList.php \Drupal\datetime_range\Plugin\Field\FieldType\DateRangeFieldItemList::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 DateTimeFieldItemList::defaultValuesFormValidate

File

core/modules/datetime_range/src/Plugin/Field/FieldType/DateRangeFieldItemList.php, line 61

Class

DateRangeFieldItemList
Represents a configurable entity daterange field.

Namespace

Drupal\datetime_range\Plugin\Field\FieldType

Code

public function defaultValuesFormValidate(array $element, array &$form, FormStateInterface $form_state) {
  if ($form_state
    ->getValue([
    'default_value_input',
    'default_date_type',
  ]) == static::DEFAULT_VALUE_CUSTOM) {
    $is_strtotime = @strtotime($form_state
      ->getValue([
      'default_value_input',
      'default_date',
    ]));
    if (!$is_strtotime) {
      $form_state
        ->setErrorByName('default_value_input][default_date', $this
        ->t('The relative start date value entered is invalid.'));
    }
  }
  if ($form_state
    ->getValue([
    'default_value_input',
    'default_end_date_type',
  ]) == static::DEFAULT_VALUE_CUSTOM) {
    $is_strtotime = @strtotime($form_state
      ->getValue([
      'default_value_input',
      'default_end_date',
    ]));
    if (!$is_strtotime) {
      $form_state
        ->setErrorByName('default_value_input][default_end_date', $this
        ->t('The relative end date value entered is invalid.'));
    }
  }
}