FormState::$cache

Same name in other branches
  1. 9 core/lib/Drupal/Core/Form/FormState.php \Drupal\Core\Form\FormState::cache
  2. 10 core/lib/Drupal/Core/Form/FormState.php \Drupal\Core\Form\FormState::cache
  3. 11.x core/lib/Drupal/Core/Form/FormState.php \Drupal\Core\Form\FormState::cache

If set to TRUE the original, unprocessed form structure will be cached, which allows the entire form to be rebuilt from cache. A typical form workflow involves two page requests; first, a form is built and rendered for the user to fill in. Then, the user fills the form in and submits it, triggering a second page request in which the form must be built and processed. By default, $form and $form_state are built from scratch during each of these page requests. Often, it is necessary or desired to persist the $form and $form_state variables from the initial page request to the one that processes the submission. 'cache' can be set to TRUE to do this. A prominent example is an Ajax-enabled form, in which \Drupal\Core\Render\Element\RenderElement::processAjaxForm() enables form caching for all forms that include an element with the #ajax property. (The Ajax handler has no way to build the form itself, so must rely on the cached version.) Note that the persistence of $form and $form_state happens automatically for (multi-step) forms having the self::$rebuild flag set, regardless of the value for self::$cache.

Type: bool

File

core/lib/Drupal/Core/Form/FormState.php, line 198

Class

FormState
Stores information about the state of a form.

Namespace

Drupal\Core\Form

Code

protected $cache = FALSE;

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