Извините за мое незнание по этому вопросу, но то, что кажется очевидным решением проблемы, не собирается для меня ..
Моя проверка работает отлично, за исключением того, что когда я вводю какие-либо буквенные символы в поле формы, я получаю сообщение об ошибке sql:
SQL Error: 1054: Unknown column 'abcde' in 'where clause'...
Как видите, я ввел abcd в качестве теста.
Но если я ввожу числовой символ и в соответствии с моей проверкой все в порядке ... Похоже, альфа-значение читается как имя столбца ??
Вот мое правило проверки:
...'Age' => array(
array(
'rule' => array('maxLength', 3),
array(
'rule' => 'numeric',
'allowEmpty' => true,
'message' => 'Age must be numeric.'
),
),
Вот код подтверждения моего контроллера:
if ($this->RequestHandler->isAjax()) {
if ($this->Plan->validates()) {
$this->Plan->set($this->data);
$errors = $this->Plan->invalidFields();
$this->set('errors', $errors);
} else {
$this->Plan->set($this->data);
}
}
Как видите, я возвращаю свои ошибки на мой взгляд, и правильная ошибка "Возраст должен быть числовым". на самом деле отображается так, как ожидалось, но только с ошибками SQL.
Спасибо за понимание того, почему это происходит.