interface SubformStateInterface
Same name in other branches
- 8.9.x core/lib/Drupal/Core/Form/SubformStateInterface.php \Drupal\Core\Form\SubformStateInterface
- 10 core/lib/Drupal/Core/Form/SubformStateInterface.php \Drupal\Core\Form\SubformStateInterface
- 11.x 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
- interface \Drupal\Core\Form\FormStateInterface
- interface \Drupal\Core\Form\SubformStateInterface extends \Drupal\Core\Form\FormStateInterface
Expanded class hierarchy of SubformStateInterface
All classes that implement SubformStateInterface
See also
\Drupal\Core\Plugin\PluginFormInterface::buildConfigurationForm()
4 files declare their use of SubformStateInterface
- CKEditor5.php in core/
modules/ ckeditor5/ src/ Plugin/ Editor/ CKEditor5.php - 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\FormView source
interface SubformStateInterface extends FormStateInterface {
/**
* Gets the complete form state.
*
* @return \Drupal\Core\Form\FormStateInterface
*/
public function getCompleteFormState();
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
FormStateInterface::addBuildInfo | public | function | Adds a value to the build info. | 2 |
FormStateInterface::addCleanValueKey | public | function | Adds a key to the array of form values that will be cleaned. | 2 |
FormStateInterface::addRebuildInfo | public | function | Adds a value to the rebuild info. | 2 |
FormStateInterface::cleanValues | public | function | Removes internal Form API elements and buttons from submitted form values. | 2 |
FormStateInterface::clearErrors | public | function | Clears all errors against all form elements made by self::setErrorByName(). | 2 |
FormStateInterface::disableCache | public | function | Prevents the form from being cached. | 2 |
FormStateInterface::disableRedirect | public | function | Prevents the form from redirecting. | 2 |
FormStateInterface::get | public | function | Gets any arbitrary property. | 2 |
FormStateInterface::getAlwaysProcess | public | function | Determines if this form should always be processed. | 2 |
FormStateInterface::getBuildInfo | public | function | Returns the build info for the form. | 2 |
FormStateInterface::getButtons | public | function | Returns the submit and button elements for the form. | 2 |
FormStateInterface::getCacheableArray | public | function | Returns an array representation of the cacheable portion of the form state. | 2 |
FormStateInterface::getCleanValueKeys | public | function | Gets the keys of the form values that will be cleaned. | 2 |
FormStateInterface::getCompleteForm | public | function | Returns a reference to the complete form array. | 2 |
FormStateInterface::getError | public | function | Returns the error message filed against the given form element. | 2 |
FormStateInterface::getErrors | public | function | Returns an associative array of all errors. | 2 |
FormStateInterface::getFormObject | public | function | Returns the form object that is responsible for building this form. | 2 |
FormStateInterface::getGroups | public | function | Returns references to details elements to render them within vertical tabs. | 2 |
FormStateInterface::getLimitValidationErrors | public | function | Retrieves the limited validation error sections. | 2 |
FormStateInterface::getRebuildInfo | public | function | Gets the rebuild info. | 2 |
FormStateInterface::getRedirect | public | function | Gets the value to use for redirecting after the form has been executed. | 2 |
FormStateInterface::getResponse | public | function | Gets a response for this form. | 2 |
FormStateInterface::getStorage | public | function | Returns the entire set of arbitrary data. | 2 |
FormStateInterface::getSubmitHandlers | public | function | Gets the submit handlers. | 2 |
FormStateInterface::getTemporary | public | function | Gets temporary data. | 2 |
FormStateInterface::getTemporaryValue | public | function | Gets an arbitrary value from temporary storage. | 2 |
FormStateInterface::getTriggeringElement | public | function | Gets the form element that triggered submission. | 2 |
FormStateInterface::getUserInput | public | function | Returns the form values as they were submitted by the user. | 2 |
FormStateInterface::getValidateHandlers | public | function | Gets the validate handlers. | 2 |
FormStateInterface::getValue | public | function | Returns the submitted form value for a specific key. | 1 |
FormStateInterface::getValues | public | function | Returns the submitted and sanitized form values. | 1 |
FormStateInterface::has | public | function | Determines if an arbitrary property is present. | 2 |
FormStateInterface::hasAnyErrors | public static | function | Determines if any forms have any errors. | 2 |
FormStateInterface::hasFileElement | public | function | Returns whether this form has a file element. | 2 |
FormStateInterface::hasInvalidToken | public | function | Determines if the form has an invalid token. | 2 |
FormStateInterface::hasTemporaryValue | public | function | Determines if a temporary value is present. | 2 |
FormStateInterface::hasValue | public | function | Determines if a specific key is present in the submitted form values. | 1 |
FormStateInterface::isBypassingProgrammedAccessChecks | public | function | Determines if this form submission should bypass #access. | 2 |
FormStateInterface::isCached | public | function | Determines if the form should be cached. | 2 |
FormStateInterface::isExecuted | public | function | Determines if the form was submitted and has been processed and executed. | 2 |
FormStateInterface::isMethodType | public | function | Returns the HTTP form method. | 2 |
FormStateInterface::isProcessingInput | public | function | Determines if the form input will be processed. | 2 |
FormStateInterface::isProgrammed | public | function | Returns if this form was submitted programmatically. | 2 |
FormStateInterface::isRebuilding | public | function | Determines if the form should be rebuilt after processing. | 2 |
FormStateInterface::isRedirectDisabled | public | function | Determines if redirecting has been prevented. | 2 |
FormStateInterface::isSubmitted | public | function | Determines if the form has been submitted. | 2 |
FormStateInterface::isValidationComplete | public | function | Determines if validation has been completed. | 2 |
FormStateInterface::isValidationEnforced | public | function | Checks if validation is enforced. | 2 |
FormStateInterface::isValueEmpty | public | function | Determines if a specific key has a value in the submitted form values. | 1 |
FormStateInterface::loadInclude | public | function | Ensures an include file is loaded whenever the form is processed. | 2 |
FormStateInterface::prepareCallback | public | function | Converts support notations for a form callback to a valid callable. | 2 |
FormStateInterface::set | public | function | Sets a value to an arbitrary property. | 2 |
FormStateInterface::setAlwaysProcess | public | function | Sets this form to always be processed. | 2 |
FormStateInterface::setBuildInfo | public | function | Sets the build info for the form. | 2 |
FormStateInterface::setButtons | public | function | Stores the submit and button elements for the form. | 2 |
FormStateInterface::setCached | public | function | Sets this form to be cached. | 2 |
FormStateInterface::setCleanValueKeys | public | function | Sets the keys of the form values that will be cleaned. | 2 |
FormStateInterface::setCompleteForm | public | function | Stores the complete form array. | 2 |
FormStateInterface::setError | public | function | Flags an element as having an error. | 2 |
FormStateInterface::setErrorByName | public | function | Files an error against a form element. | 2 |
FormStateInterface::setExecuted | public | function | Sets that the form was submitted and has been processed and executed. | 2 |
FormStateInterface::setFormObject | public | function | Sets the form object that is responsible for building this form. | 2 |
FormStateInterface::setFormState | public | function | Sets the value of the form state. | 2 |
FormStateInterface::setGroups | public | function | Sets references to details elements to render them within vertical tabs. | 2 |
FormStateInterface::setHasFileElement | public | function | Sets that this form has a file element. | 2 |
FormStateInterface::setInvalidToken | public | function | Flags the form state as having or not an invalid token. | 2 |
FormStateInterface::setLimitValidationErrors | public | function | Sets the limited validation error sections. | 2 |
FormStateInterface::setMethod | public | function | Sets the HTTP method to use for the form's submission. | 2 |
FormStateInterface::setProcessInput | public | function | Sets that the form should process input. | 2 |
FormStateInterface::setProgrammed | public | function | Sets that this form was submitted programmatically. | 2 |
FormStateInterface::setProgrammedBypassAccessCheck | public | function | Sets if this form submission should bypass #access. | 2 |
FormStateInterface::setRebuild | public | function | Sets the form to be rebuilt after processing. | 2 |
FormStateInterface::setRebuildInfo | public | function | Sets the rebuild info. | 2 |
FormStateInterface::setRedirect | public | function | Sets the redirect for the form. | 2 |
FormStateInterface::setRedirectUrl | public | function | Sets the redirect URL for the form. | 2 |
FormStateInterface::setRequestMethod | public | function | Sets the HTTP method used by the request that is building the form. | 2 |
FormStateInterface::setResponse | public | function | Sets a response for this form. | 2 |
FormStateInterface::setStorage | public | function | Sets the entire set of arbitrary data. | 2 |
FormStateInterface::setSubmitHandlers | public | function | Sets the submit handlers. | 2 |
FormStateInterface::setSubmitted | public | function | Sets that the form has been submitted. | 2 |
FormStateInterface::setTemporary | public | function | Sets temporary data. | 2 |
FormStateInterface::setTemporaryValue | public | function | Sets an arbitrary value in temporary storage. | 2 |
FormStateInterface::setTriggeringElement | public | function | Sets the form element that triggered submission. | 2 |
FormStateInterface::setUserInput | public | function | Sets the form values as though they were submitted by a user. | 2 |
FormStateInterface::setValidateHandlers | public | function | Sets the validate handlers. | 2 |
FormStateInterface::setValidationComplete | public | function | Sets that validation has been completed. | 2 |
FormStateInterface::setValidationEnforced | public | function | Enforces that validation is run. | 2 |
FormStateInterface::setValue | public | function | Sets the submitted form value for a specific key. | 1 |
FormStateInterface::setValueForElement | public | function | Changes submitted form values during form validation. | 1 |
FormStateInterface::setValues | public | function | Sets the submitted form values. | 1 |
FormStateInterface::unsetValue | public | function | Removes a specific key from the submitted form values. | 1 |
SubformStateInterface::getCompleteFormState | public | function | Gets the complete form state. | 1 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.