I already wrote that I had problems with the validation after upgrading to version 1.0 of CakePHP. At that time, I thought it was a bug in Model->save(), and fixed that “bug”. But it transpired that it was in fact a bug in the advanced validation approach I described in an earlier post and in the wiki.

The bug fix is to change the default value for the parameter of the invalidFields() function to “array()”, and to replace the first line of that function:

if (!isset($this->validate) || is_array($this->validationErrors))

with

if (!isset($this->validate) || !empty($this->validationErrors))

Sorry for the inconvenience.

(Thanks to Zachary Naiman for the hint)