public static function WebformManagedFileBase::validateManagedFile in Webform 8.5
Same name and namespace in other branches
- 6.x src/Plugin/WebformElement/WebformManagedFileBase.php \Drupal\webform\Plugin\WebformElement\WebformManagedFileBase::validateManagedFile()
Form API callback. Consolidate the array of fids for this field into a single fids.
File
- src/
Plugin/ WebformElement/ WebformManagedFileBase.php, line 916
Class
- WebformManagedFileBase
- Provides a base class webform 'managed_file' elements.
Namespace
Drupal\webform\Plugin\WebformElementCode
public static function validateManagedFile(array &$element, FormStateInterface $form_state, &$complete_form) {
// Issue #3130448: Add custom #required_message support to
// ManagedFile elements.
// @see https://www.drupal.org/project/drupal/issues/3130448
if (!empty($element['#required_error'])) {
$errors = $form_state
->getErrors();
$key = $element['#webform_key'];
if (isset($errors[$key]) && $errors[$key] instanceof TranslatableMarkup && $errors[$key]
->getUntranslatedString() === '@name field is required.') {
$errors[$key]
->__construct($element['#required_error']);
}
}
if (!empty($element['#files'])) {
$fids = array_keys($element['#files']);
if (empty($element['#multiple'])) {
$form_state
->setValueForElement($element, reset($fids));
}
else {
$form_state
->setValueForElement($element, $fids);
}
}
else {
$form_state
->setValueForElement($element, NULL);
}
}