You are here

public function FormValidator::executeValidateHandlers in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Form/FormValidator.php \Drupal\Core\Form\FormValidator::executeValidateHandlers()

Executes custom validation handlers for a given form.

Button-specific handlers are checked first. If none exist, the function falls back to form-level handlers.

Parameters

$form: An associative array containing the structure of the form.

$form_state: The current state of the form. If the user submitted the form by clicking a button with custom handler functions defined, those handlers will be stored here.

Overrides FormValidatorInterface::executeValidateHandlers

1 call to FormValidator::executeValidateHandlers()
FormValidator::doValidateForm in core/lib/Drupal/Core/Form/FormValidator.php
Performs validation on form elements.

File

core/lib/Drupal/Core/Form/FormValidator.php, line 73

Class

FormValidator
Provides validation of form submissions.

Namespace

Drupal\Core\Form

Code

public function executeValidateHandlers(&$form, FormStateInterface &$form_state) {

  // If there was a button pressed, use its handlers.
  $handlers = $form_state
    ->getValidateHandlers();

  // Otherwise, check for a form-level handler.
  if (!$handlers && isset($form['#validate'])) {
    $handlers = $form['#validate'];
  }
  foreach ($handlers as $callback) {
    call_user_func_array($form_state
      ->prepareCallback($callback), [
      &$form,
      &$form_state,
    ]);
  }
}