public static function DateList::afterBuild in Webform 8.5
Same name and namespace in other branches
- 6.x src/Plugin/WebformElement/DateList.php \Drupal\webform\Plugin\WebformElement\DateList::afterBuild()
After build handler for Datelist element.
Overrides DateBase::afterBuild
File
- src/
Plugin/ WebformElement/ DateList.php, line 235
Class
- DateList
- Provides a 'datelist' element.
Namespace
Drupal\webform\Plugin\WebformElementCode
public static function afterBuild(array $element, FormStateInterface $form_state) {
$element = parent::afterBuild($element, $form_state);
// Reverse years from min:max to max:min.
// @see \Drupal\Core\Datetime\Element\DateElementBase::datetimeRangeYears
if (!empty($element['#date_year_range_reverse']) && isset($element['year']) && isset($element['year']['#options'])) {
$options = $element['year']['#options'];
$element['year']['#options'] = [
'' => $options[''],
] + array_reverse($options, TRUE);
}
// Suppress inline error messages for datelist sub-elements.
foreach (Element::children($element) as $child_key) {
$element[$child_key]['#error_no_message'] = TRUE;
}
// Override Datelist validate callback so that we can support custom
// #required_error message.
foreach ($element['#element_validate'] as &$validate_callback) {
if (is_array($validate_callback) && $validate_callback[0] === 'Drupal\\Core\\Datetime\\Element\\Datelist') {
$validate_callback[0] = DateList::class;
}
}
return $element;
}