=== modified file 'includes/form.inc' --- includes/form.inc +++ includes/form.inc @@ -201,7 +201,8 @@ function _form_validate($elements, $form // An empty textfield returns '' so we use empty(). An empty checkbox // and a textfield could return '0' and empty('0') returns TRUE so we // need a special check for the '0' string. - if ($elements['#required'] && empty($elements['#value']) && $elements['#value'] !== '0') { + // Also, file elements are skipped here. + if ($elements['#required'] && empty($elements['#value']) && $elements['#value'] !== '0' && $elements['#type'] != 'file') { form_error($elements, t('%name field is required.', array('%name' => $elements['#title']))); }