我在CakePHP中有一个没有表的模型,名为Upload。我在这个模型中得到了一个名为source_id的字段的验证。
我有一个表单可以构建一个漂亮的$ this-data,给我一个格式良好的集合,包括:
$this->data['Upload']['source_id']
但是,我设置的验证规则似乎根本没有运行。我从另一个模型中复制了这个验证规则,它确实有效:所以我相信它有效:
var $validate = array(
'source_id' => array(
rule' => 'numeric',
'required' => true,
'allowEmpty' => false,
'message' => 'Error!.'
)
);
您是否可以验证缺少数据库表的模型的字段?
表单使用Upload模型,并提交给另一个控制器操作方法。
CakePHP 1.2,PHP / MySQL 5,XAMPP。
答案 0 :(得分:10)
我很蠢。您必须使用save()或
触发验证检查$this->Upload->set($this->data);
$this->Upload->validates();
立即工作。
答案 1 :(得分:4)
您还可以通过设置$ _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')
);