FormAjaxException.php

Same filename and directory in other branches
  1. 9 core/lib/Drupal/Core/Form/FormAjaxException.php
  2. 8.9.x core/lib/Drupal/Core/Form/FormAjaxException.php
  3. 10 core/lib/Drupal/Core/Form/FormAjaxException.php

Namespace

Drupal\Core\Form

File

core/lib/Drupal/Core/Form/FormAjaxException.php

View source
<?php

namespace Drupal\Core\Form;


/**
 * Custom exception to break out of AJAX form processing.
 */
class FormAjaxException extends \Exception {
    
    /**
     * The form definition.
     *
     * @var array
     */
    protected $form;
    
    /**
     * The form state.
     *
     * @var \Drupal\Core\Form\FormStateInterface
     */
    protected $formState;
    
    /**
     * Constructs a FormAjaxException object.
     *
     * @param array $form
     *   The form definition.
     * @param \Drupal\Core\Form\FormStateInterface $form_state
     *   The form state.
     * @param string $message
     *   (optional) The exception message.
     * @param int $code
     *   (optional) A user defined exception code.
     * @param \Exception $previous
     *   (optional) The previous exception for nested exceptions.
     */
    public function __construct(array $form, FormStateInterface $form_state, $message = "", $code = 0, ?\Exception $previous = NULL) {
        parent::__construct($message, $code, $previous);
        $this->form = $form;
        $this->formState = $form_state;
    }
    
    /**
     * Gets the form definition.
     *
     * @return array
     *   The form structure.
     */
    public function getForm() {
        return $this->form;
    }
    
    /**
     * Gets the form state.
     *
     * @return \Drupal\Core\Form\FormStateInterface
     *   The current state of the form.
     */
    public function getFormState() {
        return $this->formState;
    }

}

Classes

Title Deprecated Summary
FormAjaxException Custom exception to break out of AJAX form processing.

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