public static function FapiValidationService::process in Form API Validation 8.2
Process element validators and filters.
Allows both #validators and #filters values. Run on form rendering. Only adds filters and validators on form submission if the values have been provided. Saves us from appending a check to every single item on submission.
File
- src/
FapiValidationService.php, line 22
Class
- FapiValidationService
- FapiValidationService.
Namespace
Drupal\fapi_validationCode
public static function process(array &$element, FormStateInterface &$form_state) {
if ((isset($element['#filters']) || isset($element['#validators'])) && (!isset($element['#element_validate']) || !is_array($element['#element_validate']))) {
$element['#element_validate'] = [];
}
if (isset($element['#filters']) && is_array($element['#filters'])) {
// Check if element validate is already empty, and if so make variable for
// merging in values an empty array and put at first place.
array_unshift($element['#element_validate'], '\\Drupal\\fapi_validation\\FapiValidationService::filter');
}
if (isset($element['#validators']) && is_array($element['#validators'])) {
$element['#element_validate'][] = '\\Drupal\\fapi_validation\\FapiValidationService::validate';
}
return $element;
}