interface SubformStateInterface in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Form/SubformStateInterface.php \Drupal\Core\Form\SubformStateInterface
- 10 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
Expanded class hierarchy of SubformStateInterface
All classes that implement SubformStateInterface
See also
\Drupal\Core\Plugin\PluginFormInterface::buildConfigurationForm()
4 files declare their use of SubformStateInterface
- ConditionPluginBase.php in core/
lib/ Drupal/ Core/ Condition/ ConditionPluginBase.php - EditorBase.php in core/
modules/ editor/ src/ Plugin/ EditorBase.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
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FormStateInterface:: |
public | function | Adds a value to the build info. | 2 |
FormStateInterface:: |
public | function | Adds a key to the array of form values that will be cleaned. | 2 |
FormStateInterface:: |
public | function | Adds a value to the rebuild info. | 2 |
FormStateInterface:: |
public | function | Removes internal Form API elements and buttons from submitted form values. | 2 |
FormStateInterface:: |
public | function | Clears all errors against all form elements made by self::setErrorByName(). | 2 |
FormStateInterface:: |
public | function | Prevents the form from being cached. | 2 |
FormStateInterface:: |
public | function | Prevents the form from redirecting. | 2 |
FormStateInterface:: |
public | function | Gets any arbitrary property. | 2 |
FormStateInterface:: |
public | function | Determines if this form should always be processed. | 2 |
FormStateInterface:: |
public | function | Returns the build info for the form. | 2 |
FormStateInterface:: |
public | function | Returns the submit and button elements for the form. | 2 |
FormStateInterface:: |
public | function | Returns an array representation of the cacheable portion of the form state. | 2 |
FormStateInterface:: |
public | function | Gets the keys of the form values that will be cleaned. | 2 |
FormStateInterface:: |
public | function | Returns a reference to the complete form array. | 2 |
FormStateInterface:: |
public | function | Returns the error message filed against the given form element. | 2 |
FormStateInterface:: |
public | function | Returns an associative array of all errors. | 2 |
FormStateInterface:: |
public | function | Returns the form object that is responsible for building this form. | 2 |
FormStateInterface:: |
public | function | Returns references to details elements to render them within vertical tabs. | 2 |
FormStateInterface:: |
public | function | Retrieves the limited validation error sections. | 2 |
FormStateInterface:: |
public | function | Gets the rebuild info. | 2 |
FormStateInterface:: |
public | function | Gets the value to use for redirecting after the form has been executed. | 2 |
FormStateInterface:: |
public | function | Gets a response for this form. | 2 |
FormStateInterface:: |
public | function | Returns the entire set of arbitrary data. | 2 |
FormStateInterface:: |
public | function | Gets the submit handlers. | 2 |
FormStateInterface:: |
public | function | Gets temporary data. | 2 |
FormStateInterface:: |
public | function | Gets an arbitrary value from temporary storage. | 2 |
FormStateInterface:: |
public | function | Gets the form element that triggered submission. | 2 |
FormStateInterface:: |
public | function | Returns the form values as they were submitted by the user. | 2 |
FormStateInterface:: |
public | function | Gets the validate handlers. | 2 |
FormStateInterface:: |
public | function | Returns the submitted form value for a specific key. | 1 |
FormStateInterface:: |
public | function | Returns the submitted and sanitized form values. | 1 |
FormStateInterface:: |
public | function | Determines if an arbitrary property is present. | 2 |
FormStateInterface:: |
public static | function | Determines if any forms have any errors. | 2 |
FormStateInterface:: |
public | function | Returns whether this form has a file element. | 2 |
FormStateInterface:: |
public | function | Determines if the form has an invalid token. | 2 |
FormStateInterface:: |
public | function | Determines if a temporary value is present. | 2 |
FormStateInterface:: |
public | function | Determines if a specific key is present in the submitted form values. | 1 |
FormStateInterface:: |
public | function | Determines if this form submission should bypass #access. | 2 |
FormStateInterface:: |
public | function | Determines if the form should be cached. | 2 |
FormStateInterface:: |
public | function | Determines if the form was submitted and has been processed and executed. | 2 |
FormStateInterface:: |
public | function | Returns the HTTP form method. | 2 |
FormStateInterface:: |
public | function | Determines if the form input will be processed. | 2 |
FormStateInterface:: |
public | function | Returns if this form was submitted programmatically. | 2 |
FormStateInterface:: |
public | function | Determines if the form should be rebuilt after processing. | 2 |
FormStateInterface:: |
public | function | Determines if redirecting has been prevented. | 2 |
FormStateInterface:: |
public | function | Determines if the form has been submitted. | 2 |
FormStateInterface:: |
public | function | Determines if validation has been completed. | 2 |
FormStateInterface:: |
public | function | Checks if validation is enforced. | 2 |
FormStateInterface:: |
public | function | Determines if a specific key has a value in the submitted form values. | 1 |
FormStateInterface:: |
public | function | Ensures an include file is loaded whenever the form is processed. | 2 |
FormStateInterface:: |
public | function | Converts support notations for a form callback to a valid callable. | 2 |
FormStateInterface:: |
public | function | Sets a value to an arbitrary property. | 2 |
FormStateInterface:: |
public | function | Sets this form to always be processed. | 2 |
FormStateInterface:: |
public | function | Sets the build info for the form. | 2 |
FormStateInterface:: |
public | function | Stores the submit and button elements for the form. | 2 |
FormStateInterface:: |
public | function | Sets this form to be cached. | 2 |
FormStateInterface:: |
public | function | Sets the keys of the form values that will be cleaned. | 2 |
FormStateInterface:: |
public | function | Stores the complete form array. | 2 |
FormStateInterface:: |
public | function | Flags an element as having an error. | 2 |
FormStateInterface:: |
public | function | Files an error against a form element. | 2 |
FormStateInterface:: |
public | function | Sets that the form was submitted and has been processed and executed. | 2 |
FormStateInterface:: |
public | function | Sets the form object that is responsible for building this form. | 2 |
FormStateInterface:: |
public | function | Sets the value of the form state. | 2 |
FormStateInterface:: |
public | function | Sets references to details elements to render them within vertical tabs. | 2 |
FormStateInterface:: |
public | function | Sets that this form has a file element. | 2 |
FormStateInterface:: |
public | function | Flags the form state as having or not an invalid token. | 2 |
FormStateInterface:: |
public | function | Sets the limited validation error sections. | 2 |
FormStateInterface:: |
public | function | Sets the HTTP method to use for the form's submission. | 2 |
FormStateInterface:: |
public | function | Sets that the form should process input. | 2 |
FormStateInterface:: |
public | function | Sets that this form was submitted programmatically. | 2 |
FormStateInterface:: |
public | function | Sets if this form submission should bypass #access. | 2 |
FormStateInterface:: |
public | function | Sets the form to be rebuilt after processing. | 2 |
FormStateInterface:: |
public | function | Sets the rebuild info. | 2 |
FormStateInterface:: |
public | function | Sets the redirect for the form. | 2 |
FormStateInterface:: |
public | function | Sets the redirect URL for the form. | 2 |
FormStateInterface:: |
public | function | Sets the HTTP method used by the request that is building the form. | 2 |
FormStateInterface:: |
public | function | Sets a response for this form. | 2 |
FormStateInterface:: |
public | function | Sets the entire set of arbitrary data. | 2 |
FormStateInterface:: |
public | function | Sets the submit handlers. | 2 |
FormStateInterface:: |
public | function | Sets that the form has been submitted. | 2 |
FormStateInterface:: |
public | function | Sets temporary data. | 2 |
FormStateInterface:: |
public | function | Sets an arbitrary value in temporary storage. | 2 |
FormStateInterface:: |
public | function | Sets the form element that triggered submission. | 2 |
FormStateInterface:: |
public | function | Sets the form values as though they were submitted by a user. | 2 |
FormStateInterface:: |
public | function | Sets the validate handlers. | 2 |
FormStateInterface:: |
public | function | Sets that validation has been completed. | 2 |
FormStateInterface:: |
public | function | Enforces that validation is run. | 2 |
FormStateInterface:: |
public | function | Sets the submitted form value for a specific key. | 1 |
FormStateInterface:: |
public | function | Changes submitted form values during form validation. | 1 |
FormStateInterface:: |
public | function | Sets the submitted form values. | 1 |
FormStateInterface:: |
public | function | Removes a specific key from the submitted form values. | 1 |
SubformStateInterface:: |
public | function | Gets the complete form state. | 1 |