interface PluginFormInterface in Drupal 9
Same name and namespace in other branches
- 8 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
28 files declare their use of PluginFormInterface
- ActionFormBase.php in core/
modules/ action/ src/ Form/ ActionFormBase.php  - AggregatorPluginSettingsBase.php in core/
modules/ aggregator/ src/ Plugin/ AggregatorPluginSettingsBase.php  - BlockPluginInterface.php in core/
lib/ Drupal/ Core/ Block/ BlockPluginInterface.php  - ChooseSectionController.php in core/
modules/ layout_builder/ src/ Controller/ ChooseSectionController.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);
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            PluginFormInterface:: | 
                  public | function | Form constructor. | 37 | 
| 
            PluginFormInterface:: | 
                  public | function | Form submission handler. | 32 | 
| 
            PluginFormInterface:: | 
                  public | function | Form validation handler. | 18 |