function LinkWidget::validateTitleElement

Same name and namespace in other branches
  1. 9 core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php \Drupal\link\Plugin\Field\FieldWidget\LinkWidget::validateTitleElement()
  2. 8.9.x core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php \Drupal\link\Plugin\Field\FieldWidget\LinkWidget::validateTitleElement()
  3. 11.x core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php \Drupal\link\Plugin\Field\FieldWidget\LinkWidget::validateTitleElement()

Form element validation handler for the 'title' element.

Conditionally requires the link title if a URL value was filled in.

File

core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php, line 159

Class

LinkWidget
Plugin implementation of the 'link' widget.

Namespace

Drupal\link\Plugin\Field\FieldWidget

Code

public static function validateTitleElement(&$element, FormStateInterface $form_state, $form) {
    if ($element['uri']['#value'] !== '' && $element['title']['#value'] === '') {
        // We expect the field name placeholder value to be wrapped in $this->t() here,
        // so it won't be escaped again as it's already marked safe.
        $form_state->setError($element['title'], new TranslatableMarkup('@title field is required if there is @uri input.', [
            '@title' => $element['title']['#title'],
            '@uri' => $element['uri']['#title'],
        ]));
    }
}

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