早上好(至少在亚利桑那州)。
我正在对模型进行简单的验证检查。没什么好看的。
$this->loadModel('Something');
$data = array(
'foo_id' => '1',
'bar' => 'John'
);
$this->Something->save($data);
----------------------------------------
class Something extends AppModel {
public $validate = array(
'foo_id' => array(
'notEmpty' => array(
'rule' => 'notEmpty',
'message' => 'Foo id is missing',
'required' => true
),
'naturalNumber' => array(
'rule' => 'naturalNumber',
'message' => 'Foo id must be greater than 0',
'required' => true
)
)
);
}
这应该很简单,但Something.foo_id
始终无法通过自然数验证。请注意,Something.id
未定义,因此save()
应运行INSERT
。我已经确认该值大于0并且甚至强制它是一个整数。我没有想法,如果有人可能会猜测正在发生的事情,我会很感激。非常感谢您的帮助。
答案 0 :(得分:3)
如果您查看文档(http://book.cakephp.org/2.0/en/models/data-validation.html#Validation::naturalNumber)或升级指南(http://book.cakephp.org/2.0/en/appendices/2-2-migration-guide.html),您应该会注意到此规则已添加到2.2中
所以升级或手动将此规则添加到您的应用模型