У меня следующая проблема:
Мне нужно проверить данные в контроллере, который передается в форме. Особенность: поля из формы отсутствуют в базе данных, НО в массиве $ validate-Array. - Что не должно быть проблемой, афаик.
Другое дело, что Модель имеет отношения между многими частями этой формы.
Text hasMany Proofs
Это массив проверки:
var $validate = array(
'freetext' => array(
'between' => array(
'rule' => array('between', 250, 1000),
'message' => '..',
),
),
);
Вот пример данных, передаваемых в контроллер
[Proof] => Array
(
[0] => Array
(
[freetext] => asd
)
[1] => Array
(
[freetext] => asd
)
[2] => Array
(
[freetext] => asd
)
)
Я использую следующий код для проверки:
$this->Texts->set($this->data);
if ($this->Texts->validates()) {
Когда я вызываю его, он возвращает true, поэтому проверка прошла успешно. НО свободный текст имеет чуть менее 250 символов.
Но: форма показывает красные звездочки, которые символизируют меня, что массив проверки успешно проанализирован и применен к форме.
А также в соответствующем контроллере beforeValidate() { debug($this->data); }
показывает мне правильные данные.
Так ПОЧЕМУ проверка данных прошла успешно, даже если политики не у меня?
Спасибо, вперед!
~ MxAgent