我目前正在對模型的beforeValidate()
回調中的表單進行一些額外驗證。CakePHP模型 - > invalidate不顯示錯誤
我有以下代碼:
function beforeValidate(){
$i = 0;
foreach($this->data['CapitalCategory'] as $capital_category){
if(!empty($capital_category['value'])){
$this->invalidate('CapitalCategory.'.$i.'.points', 'error!');
return false;
}
$i++;
}
return true;
}
我調試的一切,它並返回false,如果該值存在。但是,然後,表單重新加載,沒有消息顯示在點輸入下面!此外,如果我調試validationErrors
,該數組包含需要顯示的錯誤。 可能是什麼問題?
感謝任何幫助!
編輯
這是我建立我的輸入方式:
echo $this->Form->input('CapitalCategory.'.$i.'.value', array('label' => $category['Category']['name'], 'type' => 'text'));
echo $this->Form->input('CapitalCategory.'.$i.'.points', array('label' => 'Puncte', 'type' => 'text'));
我相信問題可能是我在CapitalModel工作的事實,其中除了的某些字段CapitalModel,我使用了其相關模型CapitalCategorieModel中的幾個字段。這可能是沒有將驗證錯誤綁定到字段的問題嗎?如果是,我該如何解決?
我編輯了我的問題。謝謝。 – linkyndy 2011-04-06 16:47:37
我以前沒有在我的字段名稱中使用數字,但是您可以嘗試將名稱的第二部分設置爲字符串而不是數字..即,而不是「CapitalCategory。」。$ i。'points' ',把''CapitalCategory.F'。$ i''。points''替換成你的所有代碼並讓我知道會發生什麼...... – 2011-04-07 19:06:48
我需要這個號碼來告訴Cake保存'hasMany'關係記錄。當資本被保存時,CapitalCategory模型會爲每個CapitalCategory保存一個記錄[number] .field。 – linkyndy 2011-04-07 19:11:29