我正在運行cakephp 2.0.2版本,並且爲什麼向模型關聯提交數據的表單提交沒有揭示關聯的錯誤消息,這讓我感到頭疼。validateAssociated覆蓋相關模型的錯誤,可能的錯誤?
我一直在挖掘模型類來進一步診斷。我發現,如果窗體的主要模式有其自身的驗證錯誤,那麼對於任何關聯沒有驗證錯誤究竟能不能在返回透露:
$this->validationErrors
但我想我找到了確鑿的證據。在Model.php的validateAssociated
方法,你會看到這一點:
$this->validationErrors = $validationErrors;
if (isset($validationErrors[$this->alias])) {
$this->validationErrors = $validationErrors[$this->alias];
}
第一行設置$this->validationErrors
包含所有協會都建立了錯誤。但是,如果$validationErrors
包含主要型號名稱$this->alias
的密鑰的錯誤,則正如您所見,$this->validationErrors
會被覆蓋爲僅僅這些錯誤。
所以這引發了一個問題....爲什麼?我很確定這是一個錯誤,我想修改我的Model.php,我認爲它會起作用。但是我想在別人面前這樣做,以防我在這裏做一些非常愚蠢的事情。