function FieldStorageAddForm::validateFieldType

Validates the second step (field storage selection and label) of the form.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

File

core/modules/field_ui/src/Form/FieldStorageAddForm.php, line 426

Class

FieldStorageAddForm
Provides a form for the "field storage" add page.

Namespace

Drupal\field_ui\Form

Code

public function validateFieldType(array $form, FormStateInterface $form_state) {
  // Missing label.
  if (!$form_state->getValue('label')) {
    $form_state->setErrorByName('label', $this->t('Add new field: you need to provide a label.'));
  }
  // Missing field name.
  if (!$form_state->getValue('field_name')) {
    $form_state->setErrorByName('field_name', $this->t('Add new field: you need to provide a machine name for the field.'));
  }
  else {
    $field_name = $form_state->getValue('field_name');
    // Add the field prefix.
    $field_name = $this->configFactory
      ->get('field_ui.settings')
      ->get('field_prefix') . $field_name;
    $form_state->setValueForElement($form['new_storage_wrapper']['field_name'], $field_name);
  }
  if (isset($form['group_field_options_wrapper']['fields']) && !$form_state->getValue('group_field_options_wrapper')) {
    $form_state->setErrorByName('group_field_options_wrapper', $this->t('You need to choose an option.'));
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.