function EditExpressionForm::validateForm

Overrides FormBase::validateForm

File

src/Form/EditExpressionForm.php, line 107

Class

EditExpressionForm
UI form to edit an expression like a condition or action in a rule.

Namespace

Drupal\rules\Form

Code

public function validateForm(array &$form, FormStateInterface $form_state) {
    // Ensure the object properties are initialized, see
    // https://www.drupal.org/node/2669032.
    $this->rulesUiHandler = $form_state->get('rules_ui_handler');
    $this->component = is_object($form_state->get('component')) ? $form_state->get('component') : $this->rulesUiHandler
        ->getComponent();
    $this->uuid = $form_state->get('uuid');
    $this->rulesUiHandler
        ->validateLock($form, $form_state);
    // @todo This ignores ExpressionFormInterface::validateForm().
    $component = $this->buildComponent($form, $form_state);
    $violations = $component->checkIntegrity();
    // Only show the violations caused by the edited expression.
    foreach ($violations->getFor($this->uuid) as $violation) {
        $form_state->setError($form, $violation->getMessage());
    }
}