/** * Checks if a field machine name is taken. * * @param string $value * The machine name, not prefixed. * @param array $element * An array containing the structure of the 'field_name' element. * @param \Drupal\Core\Form\FormStateInterface $form_state * The current state of the form. * * @return bool * Whether or not the field machine name is taken. */ public function fieldNameExists($value, $element, FormStateInterface $form_state) { // Don't validate the case when an existing field has been selected. if ($form_state->getValue('existing_storage_name')) { return FALSE; } // Add the field prefix. $field_name = $this->configFactory->get('field_ui.settings') ->get('field_prefix') . $value; return $this->fieldManager->fieldNameExists($field_name, $this->entity->getUpdateEntityType()); }