diff --git a/lib/Cake/Model/Model.php b/lib/Cake/Model/Model.php index f3964edba19..d1e4413b8dd 100644 --- a/lib/Cake/Model/Model.php +++ b/lib/Cake/Model/Model.php @@ -1634,7 +1634,16 @@ public function saveAll($data = null, $options = array()) { return $this->saveMany($data, $options); } if ($options['validate'] === 'only') { - return $this->validateAssociated($data, $options); + $this->create($data); + $validates = $this->validates($options); + $validatesAssoc = $this->validateAssociated($data, $options); + if (!$validates) { + return false; + } + if (is_bool($validatesAssoc)) { + return $validates && $validatesAssoc; + } + return $validatesAssoc; } return $this->saveAssociated($data, $options); }