eca-1.0.x-dev/modules/form/src/Plugin/Action/FormFieldValidateActionBase.php
modules/form/src/Plugin/Action/FormFieldValidateActionBase.php
<?php namespace Drupal\eca_form\Plugin\Action; /** * Base class for form field validation actions. */ abstract class FormFieldValidateActionBase extends FormFieldActionBase { /** * Whether to use form field value filters or not. * * @var bool */ protected bool $useFilters = FALSE; /** * Set a form error to the configured field. * * @param \Drupal\Core\StringTranslation\TranslatableMarkup|string $message * The error message. */ protected function setError($message): void { if (!($form_state = $this->getCurrentFormState())) { return; } if ($target_element = &$this->getTargetElement()) { if (isset($target_element['#parents'])) { $form_state->setErrorByName(implode('][', $target_element['#parents']), $message); return; } } if (($name = trim((string) $this->configuration['field_name'])) !== '') { // Convert the field name to the bracket syntax as required by // FormStateInterface::setErrorByName(). $name = str_replace(']', '', $name); $name = str_replace('[', '][', $name); $form_state->setErrorByName($name, $message); } elseif ($form = &$this->getCurrentForm()) { $form_state->setError($form, $message); } } }