Index: trunk/core/kernel/db/dbitem.php =================================================================== diff -u -r2095 -r2357 --- trunk/core/kernel/db/dbitem.php (.../dbitem.php) (revision 2095) +++ trunk/core/kernel/db/dbitem.php (.../dbitem.php) (revision 2357) @@ -473,7 +473,8 @@ { $res = ( (string) $this->FieldValues[$field] != ''); } - if (!$res) $this->FieldErrors[$error_field]['pseudo'] = 'required'; + $options = $this->GetFieldOptions($field); + if (!$res && getArrayValue($options, 'formatter') != 'kUploadFormatter') $this->FieldErrors[$error_field]['pseudo'] = 'required'; return $res; } Index: trunk/core/kernel/utility/formatters.php =================================================================== diff -u -r2348 -r2357 --- trunk/core/kernel/utility/formatters.php (.../formatters.php) (revision 2348) +++ trunk/core/kernel/utility/formatters.php (.../formatters.php) (revision 2357) @@ -610,6 +610,13 @@ $object->FieldErrors[$field_name]['pseudo'] = 'cant_save_file'; } } + else + { + if(getArrayValue($options, 'required')) + { + $object->FieldErrors[$field_name]['pseudo'] = 'required'; + } + } if ($value['error'] && !( $value['error'] == UPLOAD_ERR_NO_FILE ) && !$object->FieldErrors[$field_name]['pseudo']) {