Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Form/SubformStateInterface.php \Drupal\Core\Form\SubformStateInterface
  2. 9 core/lib/Drupal/Core/Form/SubformStateInterface.php \Drupal\Core\Form\SubformStateInterface

Stores information about the state of a subform.

In the context of Drupal's Form API, a subform is a form definition array that will be nested into a "parent" form. For instance:

$subform = [
  'method' => [
    '#type' => 'select',
  ],
];
$form = [
  // …
  'settings' => $subform,
];

All input fields nested under "settings" are then considered part of that "subform". The concept is used mostly when the subform is defined by a different class (potentially even in a different module) than the parent form. This is often the case for plugins: a plugin's buildConfigurationForm() would then be handed an instance of this interface as the second parameter.

The benefit of doing this is that the plugin can then just define the form – and use the form state – as if it would define a "proper" form, not nested in some other form structure. This means that it won't have to know the key(s) under which its form structure will be nested – for instance, when retrieving the form values during form validation or submission.

Contrary to "proper" forms, subforms don't translate to a <form> tag in the HTML response. Instead, they can only be discerned in the HTML code by the nesting of the input tags' names.

Hierarchy

Expanded class hierarchy of SubformStateInterface

All classes that implement SubformStateInterface

See also

\Drupal\Core\Plugin\PluginFormInterface::buildConfigurationForm()

3 files declare their use of SubformStateInterface
ConditionPluginBase.php in core/lib/Drupal/Core/Condition/ConditionPluginBase.php
InlineBlock.php in core/modules/layout_builder/src/Plugin/Block/InlineBlock.php
SubformStateTest.php in core/tests/Drupal/Tests/Core/Form/SubformStateTest.php

File

core/lib/Drupal/Core/Form/SubformStateInterface.php, line 42

Namespace

Drupal\Core\Form
View source
interface SubformStateInterface extends FormStateInterface {

  /**
   * Gets the complete form state.
   *
   * @return \Drupal\Core\Form\FormStateInterface
   */
  public function getCompleteFormState();

}

Members

Name Modifiers Typesort descending Description Overrides
SubformStateInterface::getCompleteFormState public function Gets the complete form state.
FormStateInterface::getCompleteForm public function Returns a reference to the complete form array. 1
FormStateInterface::setCompleteForm public function Stores the complete form array. 1
FormStateInterface::loadInclude public function Ensures an include file is loaded whenever the form is processed. 1
FormStateInterface::getCacheableArray public function Returns an array representation of the cacheable portion of the form state. 1
FormStateInterface::setFormState public function Sets the value of the form state. 1
FormStateInterface::setResponse public function Sets a response for this form. 1
FormStateInterface::getResponse public function Gets a response for this form. 1
FormStateInterface::setRedirect public function Sets the redirect for the form. 1
FormStateInterface::setRedirectUrl public function Sets the redirect URL for the form. 1
FormStateInterface::getRedirect public function Gets the value to use for redirecting after the form has been executed. 1
FormStateInterface::setStorage public function Sets the entire set of arbitrary data. 1
FormStateInterface::getStorage public function Returns the entire set of arbitrary data. 1
FormStateInterface::get public function Gets the value for a property in the form state storage. 1
FormStateInterface::set public function Sets the value for a property in the form state storage. 1
FormStateInterface::has public function Determines if a property is present in the form state storage. 1
FormStateInterface::setBuildInfo public function Sets the build info for the form. 1
FormStateInterface::getBuildInfo public function Returns the build info for the form. 1
FormStateInterface::addBuildInfo public function Adds a value to the build info. 1
FormStateInterface::getUserInput public function Returns the form values as they were submitted by the user. 1
FormStateInterface::setUserInput public function Sets the form values as though they were submitted by a user. 1
FormStateInterface::getValues public function Returns the submitted and sanitized form values. 1
FormStateInterface::getValue public function Returns the submitted form value for a specific key. 1
FormStateInterface::setValues public function Sets the submitted form values. 1
FormStateInterface::setValue public function Sets the submitted form value for a specific key. 1
FormStateInterface::unsetValue public function Removes a specific key from the submitted form values. 1
FormStateInterface::hasValue public function Determines if a specific key is present in the submitted form values. 1
FormStateInterface::isValueEmpty public function Determines if a specific key has a value in the submitted form values. 1
FormStateInterface::setValueForElement public function Changes submitted form values during form validation. 1
FormStateInterface::hasAnyErrors public static function Determines if any forms have any errors. 1
FormStateInterface::setErrorByName public function Files an error against a form element. 1
FormStateInterface::setError public function Flags an element as having an error. 1
FormStateInterface::clearErrors public function Clears all errors against all form elements made by self::setErrorByName(). 1
FormStateInterface::getErrors public function Returns an associative array of all errors. 1
FormStateInterface::getError public function Returns the error message filed against the given form element. 1
FormStateInterface::setRebuild public function Sets the form to be rebuilt after processing. 1
FormStateInterface::isRebuilding public function Determines if the form should be rebuilt after processing. 1
FormStateInterface::setInvalidToken public function Flags the form state as having or not an invalid token. 1
FormStateInterface::hasInvalidToken public function Determines if the form has an invalid token. 1
FormStateInterface::prepareCallback public function Converts support notations for a form callback to a valid callable. 1
FormStateInterface::getFormObject public function Returns the form object that is responsible for building this form. 1
FormStateInterface::setFormObject public function Sets the form object that is responsible for building this form. 1
FormStateInterface::setAlwaysProcess public function Sets this form to always be processed. 1
FormStateInterface::getAlwaysProcess public function Determines if this form should always be processed. 1
FormStateInterface::setButtons public function Stores the submit and button elements for the form. 1
FormStateInterface::getButtons public function Returns the submit and button elements for the form. 1
FormStateInterface::setCached public function Sets this form to be cached. 1
FormStateInterface::isCached public function Determines if the form should be cached. 1
FormStateInterface::disableCache public function Prevents the form from being cached. 1
FormStateInterface::setExecuted public function Sets that the form was submitted and has been processed and executed. 1
FormStateInterface::isExecuted public function Determines if the form was submitted and has been processed and executed. 1
FormStateInterface::setGroups public function Sets references to details elements to render them within vertical tabs. 1
FormStateInterface::getGroups public function Returns references to details elements to render them within vertical tabs. 1
FormStateInterface::setHasFileElement public function Sets that this form has a file element. 1
FormStateInterface::hasFileElement public function Returns whether this form has a file element. 1
FormStateInterface::setLimitValidationErrors public function Sets the limited validation error sections. 1
FormStateInterface::getLimitValidationErrors public function Retrieves the limited validation error sections. 1
FormStateInterface::setMethod public function Sets the HTTP method to use for the form's submission. 1
FormStateInterface::setRequestMethod public function Sets the HTTP method used by the request that is building the form. 1
FormStateInterface::isMethodType public function Returns the HTTP form method. 1
FormStateInterface::setValidationEnforced public function Enforces that validation is run. 1
FormStateInterface::isValidationEnforced public function Checks if validation is enforced. 1
FormStateInterface::disableRedirect public function Prevents the form from redirecting. 1
FormStateInterface::isRedirectDisabled public function Determines if redirecting has been prevented. 1
FormStateInterface::setProcessInput public function Sets that the form should process input. 1
FormStateInterface::isProcessingInput public function Determines if the form input will be processed. 1
FormStateInterface::setProgrammed public function Sets that this form was submitted programmatically. 1
FormStateInterface::isProgrammed public function Returns if this form was submitted programmatically. 1
FormStateInterface::setProgrammedBypassAccessCheck public function Sets if this form submission should bypass #access. 1
FormStateInterface::isBypassingProgrammedAccessChecks public function Determines if this form submission should bypass #access. 1
FormStateInterface::setRebuildInfo public function Sets the rebuild info. 1
FormStateInterface::getRebuildInfo public function Gets the rebuild info. 1
FormStateInterface::addRebuildInfo public function Adds a value to the rebuild info. 1
FormStateInterface::setSubmitHandlers public function Sets the submit handlers. 1
FormStateInterface::getSubmitHandlers public function Gets the submit handlers. 1
FormStateInterface::setSubmitted public function Sets that the form has been submitted. 1
FormStateInterface::isSubmitted public function Determines if the form has been submitted. 1
FormStateInterface::setTemporary public function Sets temporary data. 1
FormStateInterface::getTemporary public function Gets temporary data. 1
FormStateInterface::getTemporaryValue public function Gets an arbitrary value from temporary storage. 1
FormStateInterface::setTemporaryValue public function Sets an arbitrary value in temporary storage. 1
FormStateInterface::hasTemporaryValue public function Determines if a temporary value is present. 1
FormStateInterface::setTriggeringElement public function Sets the form element that triggered submission. 1
FormStateInterface::getTriggeringElement public function Gets the form element that triggered submission. 1
FormStateInterface::setValidateHandlers public function Sets the validate handlers. 1
FormStateInterface::getValidateHandlers public function Gets the validate handlers. 1
FormStateInterface::setValidationComplete public function Sets that validation has been completed. 1
FormStateInterface::isValidationComplete public function Determines if validation has been completed. 1
FormStateInterface::getCleanValueKeys public function Gets the keys of the form values that will be cleaned. 1
FormStateInterface::setCleanValueKeys public function Sets the keys of the form values that will be cleaned. 1
FormStateInterface::addCleanValueKey public function Adds a key to the array of form values that will be cleaned. 1
FormStateInterface::cleanValues public function Removes internal Form API elements and buttons from submitted form values. 1
FormStateInterface::setIgnoreDestination public function Determines whether the redirect respects the destination query parameter. 1
FormStateInterface::getIgnoreDestination public function Gets whether the redirect respects the destination query parameter. 1