public static RenderElement::setAttributes(&$element, $class = array())
Sets a form element's class attribute.
Adds 'required' and 'error' classes as needed.
Parameters
array $element: The form element.
array $class: Array of new class names to be added.
Overrides ElementInterface::setAttributes
File
- core/lib/Drupal/Core/Render/Element/RenderElement.php, line 129
Class
- RenderElement
- Provides a base class for render element plugins.
Namespace
Drupal\Core\Render\Element
Code
public static function setAttributes(&$element, $class = array()) { if (!empty($class)) { if (!isset($element['#attributes']['class'])) { $element['#attributes']['class'] = array(); } $element['#attributes']['class'] = array_merge($element['#attributes']['class'], $class); } // This function is invoked from form element theme functions, but the // rendered form element may not necessarily have been processed by // \Drupal::formBuilder()->doBuildForm(). if (!empty($element['#required'])) { $element['#attributes']['class'][] = 'required'; $element['#attributes']['required'] = 'required'; $element['#attributes']['aria-required'] = 'true'; } if (isset($element['#parents']) && isset($element['#errors']) && !empty($element['#validated'])) { $element['#attributes']['class'][] = 'error'; $element['#attributes']['aria-invalid'] = 'true'; } }
Please login to continue.