1

我一直在尝试在 cakephp 中进行表单验证。我有一个下拉菜单,我想将其设置为 required 以允许在移动到下一页之前首先选择下拉菜单中的项目。但是,我无法这样做。

我想知道如何进行表单验证。我读到 cakephp 2.4 及更高版本在表单验证上有问题,而我的是 cakephp 2.8。

请解释是否应该在控制器或模型中执行?

我读过食谱,但没有帮助。该框架仍然是新的,如果有人可以提供帮助,我们将不胜感激。

4

2 回答 2

1

在你的模型中写

public $validate = array(
    'field' => array(
        'rule' => 'notBlank',
        'message' => 'This field is required.'
    )
);

然后在你的控制器中

$this->ModelName->set($this->request->data);

if ($this->ModelName->validates()) {
    // it validated logic
} else {
    // didn't validate logic
}
于 2016-03-14T08:29:07.800 回答
0

把它放在你的controller.php

function add(){
    if(!empty($this->data)){
        $this->{$this->modelClass}->set($this->data);
        if($this->{$this->modelClass}->addValidate()){

        }
    }
} 

把它放在你的model.php

function addValidate(){
   $validate1   = array(
      'field_name' => array(
          'rule1' => array(
              'rule' => 'notEmpty',
              'message' => 'Please enter field_name'
           )
       )
   );
   $this->validate = $validate1;
   return $this->validates();
}
于 2016-03-14T08:47:29.533 回答