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;
Please login to continue.