interface PluginFormInterface in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Plugin/PluginFormInterface.php \Drupal\Core\Plugin\PluginFormInterface
- 9 core/lib/Drupal/Core/Plugin/PluginFormInterface.php \Drupal\Core\Plugin\PluginFormInterface
Provides an interface for an embeddable plugin form.
Plugins can implement this form directly, or a standalone class can be used. Decoupled forms can implement \Drupal\Component\Plugin\PluginAwareInterface in order to gain access to the plugin.
Hierarchy
- interface \Drupal\Core\Plugin\PluginFormInterface
Expanded class hierarchy of PluginFormInterface
All classes that implement PluginFormInterface
Related topics
27 files declare their use of PluginFormInterface
- ActionFormBase.php in core/
modules/ action/ src/ Form/ ActionFormBase.php - BlockPluginInterface.php in core/
lib/ Drupal/ Core/ Block/ BlockPluginInterface.php - ChooseSectionController.php in core/
modules/ layout_builder/ src/ Controller/ ChooseSectionController.php - CKEditor5PluginConfigurableInterface.php in core/
modules/ ckeditor5/ src/ Plugin/ CKEditor5PluginConfigurableInterface.php - ConditionInterface.php in core/
lib/ Drupal/ Core/ Condition/ ConditionInterface.php
File
- core/
lib/ Drupal/ Core/ Plugin/ PluginFormInterface.php, line 16
Namespace
Drupal\Core\PluginView source
interface PluginFormInterface {
/**
* Form constructor.
*
* Plugin forms are embedded in other forms. In order to know where the plugin
* form is located in the parent form, #parents and #array_parents must be
* known, but these are not available during the initial build phase. In order
* to have these properties available when building the plugin form's
* elements, let this method return a form element that has a #process
* callback and build the rest of the form in the callback. By the time the
* callback is executed, the element's #parents and #array_parents properties
* will have been set by the form API. For more documentation on #parents and
* #array_parents, see \Drupal\Core\Render\Element\FormElement.
*
* @param array $form
* An associative array containing the initial structure of the plugin form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form. Calling code should pass on a subform
* state created through
* \Drupal\Core\Form\SubformState::createForSubform().
*
* @return array
* The form structure.
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state);
/**
* Form validation handler.
*
* @param array $form
* An associative array containing the structure of the plugin form as built
* by static::buildConfigurationForm().
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form. Calling code should pass on a subform
* state created through
* \Drupal\Core\Form\SubformState::createForSubform().
*/
public function validateConfigurationForm(array &$form, FormStateInterface $form_state);
/**
* Form submission handler.
*
* @param array $form
* An associative array containing the structure of the plugin form as built
* by static::buildConfigurationForm().
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form. Calling code should pass on a subform
* state created through
* \Drupal\Core\Form\SubformState::createForSubform().
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state);
}