Index: trunk/core/kernel/db/dbitem.php =================================================================== diff -u -N -r3084 -r3086 --- trunk/core/kernel/db/dbitem.php (.../dbitem.php) (revision 3084) +++ trunk/core/kernel/db/dbitem.php (.../dbitem.php) (revision 3086) @@ -427,12 +427,17 @@ return true; } - function HasErrors() + function HasErrors($params = Array()) { $global_res = false; - foreach ($this->Fields as $field => $params) { + if($skip_fields = getArrayValue($params, 'except')) + { + if(!is_array($skip_fields)) $skip_fields = explode(',', $skip_fields); + } + foreach ($this->Fields as $field => $field_params) { // If Formatter has set some error messages during values parsing - if (isset($this->FieldErrors[$field]['pseudo']) && $this->FieldErrors[$field] != '') { + if ( !(is_array($skip_fields) && in_array($field, $skip_fields) ) && + isset($this->FieldErrors[$field]['pseudo']) && $this->FieldErrors[$field] != '') { $global_res = true; } }