Index: branches/5.0.x/core/kernel/db/dbitem.php =================================================================== diff -u -N -r12783 -r12792 --- branches/5.0.x/core/kernel/db/dbitem.php (.../dbitem.php) (revision 12783) +++ branches/5.0.x/core/kernel/db/dbitem.php (.../dbitem.php) (revision 12792) @@ -1,6 +1,6 @@ raiseEvent('OnAfterItemValidate')) { - return false; - } - if (!$this->FieldValues) { // nothing to update return true; @@ -570,6 +566,9 @@ return true; } + // will apply any custom validation to the item + $this->raiseEvent('OnBeforeItemValidate'); + $global_res = true; foreach ($this->Fields as $field => $params) { $res = $this->ValidateField($field); @@ -586,6 +585,11 @@ $this->Application->Debugger->dumpVars($this->FieldErrors); } + if ($global_res) { + // no validation errors + $this->raiseEvent('OnAfterItemValidate'); + } + return $global_res; } @@ -831,10 +835,6 @@ return false; } - if (!$this->raiseEvent('OnAfterItemValidate')) { - return false; - } - if (is_int($force_id)) { $this->FieldValues[$this->IDField] = $force_id; } Index: branches/5.0.x/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r12734 -r12792 --- branches/5.0.x/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 12734) +++ branches/5.0.x/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 12792) @@ -1,6 +1,6 @@