在没有表格的模型中验证字段(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') 
); 
+0

+1很酷的功能,我没注意到 – kaklon 2011-02-11 19:32:28