请原谅我对这个问题的无知,但似乎是一个明显的修复不是为了我一起来..CakePHP验证阿尔法问题w /验证检查 - 我做错了什么?
我的验证工作完全正常,除了当我在我的表单字段中输入任何字母字符,我得到一个SQL错误:
SQL Error: 1054: Unknown column 'abcde' in 'where clause'...
正如你可以看到我输入的是“ABCD”作为测试..
但是,如果我输入一个数字字符,每个我的验证所有的罚款。它的出现正在读取alpha值作为列名?
这里是我的验证规则:
...'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错误的东西。
感谢您为什么会发生这种情况。
当'validates()'返回true时,你设置'$ errors'。你确定这就是你想要的吗? – Arjan 2011-06-08 20:01:13
是否有可能你错过了一个括号? – alexdd55 2011-06-08 20:04:20
没有托架错过,我可以看到。 – OldWest 2011-06-08 20:39:03