function _webform_required_multifile in Webform Multiple File Upload 7
Same name and namespace in other branches
- 6 multifile.inc \_webform_required_multifile()
A Form API element validate function.
Fix Drupal core's handling of required file fields.
1 string reference to '_webform_required_multifile'
- _webform_render_multifile in ./
multifile.inc - Implementation of _webform_render_component().
File
- ./
multifile.inc, line 454 - Webform module file component.
Code
function _webform_required_multifile($element, $form_state) {
$component = $element['#webform_component'];
$parents = $element['#array_parents'];
array_pop($parents);
$form_key = implode('_', $parents);
// Do not validate requiredness on back or draft button.
if (isset($form_state['clicked_button']['#validate']) && empty($form_state['clicked_button']['#validate'])) {
return;
}
// Check if a value is already set in the hidden field.
$values = $form_state['values'];
$key = array_shift($parents);
$found = FALSE;
while (isset($values[$key])) {
if (isset($values[$key])) {
$values = $values[$key];
$found = TRUE;
}
else {
$found = FALSE;
}
$key = array_shift($parents);
}
if (!$found || empty($values['_fids']) && empty($values['_old_fids'])) {
if (empty($_FILES['files']['name'][$form_key]) && $component['mandatory']) {
form_error($element, t('%field field is required.', array(
'%field' => $component['name'],
)));
}
}
}