Provides a base class for form element plugins.
Form elements are a subset of render elements, representing elements for HTML forms, which can be referenced in form arrays. See the Render API topic for an overview of render arrays and render elements, and the Form API topic for an overview of forms and form arrays.
The elements of form arrays are divided up into properties (whose keys start with #) and children (whose keys do not start with #). The properties provide data or settings that are used in rendering and form processing. Some properties are specific to a particular type of form/render element, some are available for any render element, and some are available for any form input element. A list of the properties that are available for all form elements follows; see \Drupal\Core\Render\Element\RenderElement for some additional information, as well as a list of properties that are common to all render elements (including form elements). Properties specific to a particular element are documented on that element's class.
Here is a list of properties that are used during the rendering and form processing of form elements:
- #after_build: (array) Array of callables or function names, which are called after the element is built. Arguments: $element, $form_state.
- #ajax: (array) Array of elements to specify Ajax behavior. See the Ajax API topic for more information.
- #array_parents: (string[], read-only) Array of names of all the element's parents (including itself) in the render array. See also #parents, #tree.
- #default_value: Default value for the element. See also #value.
- #description: (string) Help or description text for the element. In an ideal user interface, the #title should be enough to describe the element, so most elements should not have a description; if you do need one, make sure it is translated. If it is not already wrapped in a safe markup object, it will be filtered for XSS safety.
- #disabled: (bool) If TRUE, the element is shown but does not accept user input.
- #element_validate: (array) Array of callables or function names, which are called to validate the input. Arguments: $element, $form_state, $form.
- #field_prefix: (string) Prefix to display before the HTML input element. Should be translated, normally. If it is not already wrapped in a safe markup object, will be filtered for XSS safety.
- #field_suffix: (string) Suffix to display after the HTML input element. Should be translated, normally. If it is not already wrapped in a safe markup object, will be filtered for XSS safety.
- #input: (bool, internal) Whether or not the element accepts input.
- #parents: (string[], read-only) Array of names of the element's parents for purposes of getting values out of $form_state. See also #array_parents, #tree.
- #process: (array) Array of callables or function names, which are called during form building. Arguments: $element, $form_state, $form.
- #processed: (bool, internal) Set to TRUE when the element is processed.
- #required: (bool) Whether or not input is required on the element.
- #states: (array) Information about JavaScript states, such as when to hide or show the element based on input on other elements. See drupal_process_states() for documentation.
- #title: (string) Title of the form element. Should be translated.
-
#title_display: (string) Where and how to display the #title. Possible values:
- before: Label goes before the element (default for most elements).
- after: Label goes after the element (default for radio elements).
- invisible: Label is there but is made invisible using CSS.
- attribute: Make it the title attribute (hover tooltip).
- #tree: (bool) TRUE if the values of this element and its children should be hierarchical in $form_state; FALSE if the values should be flat. See also #parents, #array_parents.
- #value_callback: (callable) Callable or function name, which is called to transform the raw user input to the element's value. Arguments: $element, $input, $form_state.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, StringTranslationTrait
- class \Drupal\Core\Render\Element\RenderElement implements ElementInterface
- class \Drupal\Core\Render\Element\FormElement implements FormElementInterface
- class \Drupal\Core\Render\Element\RenderElement implements ElementInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, StringTranslationTrait
See also
\Drupal\Core\Render\Annotation\FormElement
\Drupal\Core\Render\Element\FormElementInterface
\Drupal\Core\Render\ElementInfoManager
Plugin API
Related topics
- Render API overview
- Overview of the Theme system and Render API.
File
- core/lib/Drupal/Core/Render/Element/FormElement.php, line 85
Namespace
Drupal\Core\Render\Element
Members
Name | Modifiers | Type | Description |
---|---|---|---|
DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. |
DependencySerializationTrait::__sleep | public | function | |
DependencySerializationTrait::__wakeup | public | function | |
ElementInterface::getInfo | public | function | Returns the element properties for this element. Overrides ElementInterface::getInfo |
FormElement::processAutocomplete | public static | function | Adds autocomplete functionality to elements. |
FormElement::processPattern | public static | function | #process callback for #pattern form element property. |
FormElement::validatePattern | public static | function | #element_validate callback for #pattern form element property. |
FormElement::valueCallback | public static | function | Determines how user input is mapped to an element's #value property. Overrides FormElementInterface::valueCallback |
PluginBase::$configuration | protected | property | Configuration information passed into the plugin. |
PluginBase::$pluginDefinition | protected | property | The plugin implementation definition. |
PluginBase::$pluginId | protected | property | The plugin_id. |
PluginBase::DERIVATIVE_SEPARATOR | constant | A string which is used to separate base plugin IDs from the derivative ID. | |
PluginBase::getBaseId | public | function | Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId |
PluginBase::getDerivativeId | public | function | Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId |
PluginBase::getPluginDefinition | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition |
PluginBase::getPluginId | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId |
PluginBase::__construct | public | function | Constructs a Drupal\Component\Plugin\PluginBase object. |
RenderElement::preRenderAjaxForm | public static | function | Adds Ajax information about an element to communicate with JavaScript. |
RenderElement::preRenderGroup | public static | function | Adds members of this group as actual elements for rendering. |
RenderElement::processAjaxForm | public static | function | Form element processing handler for the #ajax form property. |
RenderElement::processGroup | public static | function | Arranges elements into groups. |
RenderElement::setAttributes | public static | function | Sets a form element's class attribute. Overrides ElementInterface::setAttributes |
StringTranslationTrait::$stringTranslation | protected | property | The string translation service. |
StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. |
StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. |
StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. |
StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. |
StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. |
Please login to continue.