В настоящее время я работаю над дополнительной проверкой формы в обратном вызове beforeValidate()
модели.
У меня есть следующий код:
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
, массив содержит ошибку, которая должна отображаться.
В чем может быть проблема?
Ценю любую помощь!
EDIT
Вот как я строю свои входные данные:
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. Может ли это быть проблемой для того, чтобы не связывать ошибку проверки с полем? Если да, как я могу это решить?