在没有表格的模型中验证字段(CakePHP)
问题描述:
我在CakePHP中有一个没有表格的模型,名为Upload。我在这个模型中为一个名为source_id的字段进行了验证。在没有表格的模型中验证字段(CakePHP)
我已经得到了构建一个好看$这个数据,给了我一个很好格式化集,包括一种形式:
$this->data['Upload']['source_id']
不过,我已经设置了验证规则似乎并没有运行在所有。我复制从另一个模型,其中它的工作,这个验证规则,所以我相信,它的工作原理:
var $validate = array(
'source_id' => array(
rule' => 'numeric',
'required' => true,
'allowEmpty' => false,
'message' => 'Error!.'
)
);
可你不是因为缺少一个数据库表的模型验证领域?
的形式使用上传模型,并提交到另一控制器的操作方法。
CakePHP 1.2,PHP/MySQL 5,XAMPP。
答
我很笨。您必须触发验证检查,可以使用save()或
$this->Upload->set($this->data);
$this->Upload->validates();
立即工作。
答
您也可以假通过设置$ _schema阵列,像这样的数据库结构:
var $useTable = false;
var $_schema = array(
'name' =>array('type'=>'string', 'length'=>100),
'email' =>array('type'=>'string', 'length'=>255),
'phone' =>array('type'=>'string', 'length'=>20),
'subject' =>array('type'=>'string', 'length'=>255),
'message' =>array('type'=>'text')
);
+1很酷的功能,我没注意到 – kaklon 2011-02-11 19:32:28