diff -urp filefield/filefield_widget.inc filefield/filefield_widget.inc --- filefield/filefield_widget.inc 2008-10-31 06:04:07.000000000 +0200 +++ filefield/filefield_widget.inc 2008-11-02 10:48:16.000000000 +0200 @@ -331,7 +331,9 @@ function theme_filefield_widget_item($el function filefield_node_form_validate($form, &$form_state) { $type = content_types($form['type']['#value']); foreach ($type['fields'] as $field_name => $field) { - if (!(in_array($field['module'], array('imagefield', 'filefield'))) || !$field['required']) continue; + if (!in_array($field['module'], array('imagefield', 'filefield'))) { + continue; + } $empty = $field['module'] .'_content_is_empty'; $valid = false; $total_filesize = 0; @@ -341,7 +343,7 @@ function filefield_node_form_validate($f $total_filesize += (int)$item['filesize']; } - if (!$valid) { + if (!$valid && $field['required']) { form_set_error($field_name, t('%title field is required.', array('%title' => $field['widget']['label']))); } $max_filesize = parse_size($field['widget']['max_filesize_per_node']);