function field_default_token_field_config_edit_form_validate in Field default token 8
Form validation handler for the field configuration edit form.
Replacement for \Drupal\field_ui\Form\FieldConfigEditForm::validateForm().
1 string reference to 'field_default_token_field_config_edit_form_validate'
- field_default_token_form_field_config_edit_form_alter in ./
field_default_token.module - Implements hook_form_FORM_ID_alter() for the field configuration edit form.
File
- ./
field_default_token.module, line 283 - Enables to use tokens as field default values.
Code
function field_default_token_field_config_edit_form_validate($form, FormStateInterface $form_state) {
// See \Drupal\field_ui\Form\FieldConfigEditForm::validateForm().
if (isset($form['default_value']) && ($widget = $form_state
->get('default_value_widget'))) {
/** @var \Drupal\Core\Entity\FieldableEntityInterface $entity */
$entity = $form['#entity'];
/** @var \Drupal\Core\Entity\EntityFormInterface $form_object */
$form_object = $form_state
->getFormObject();
/** @var \Drupal\field\FieldConfigInterface $field_config */
$field_config = $form_object
->getEntity();
$items = $entity
->get($field_config
->getName());
$widget
->extractFormValues($items, $form['default_value'], $form_state);
foreach ($items as $item) {
/** @var \Drupal\Core\TypedData\TypedDataInterface $property */
foreach ($item as $property) {
$value = $property
->getValue();
if (is_array($value)) {
continue;
}
if (strpos($value, '[') !== FALSE) {
// Token in default value, do not validate.
return;
}
}
}
$items
->defaultValuesFormValidate($form['default_value'], $form, $form_state);
}
}