如何在Cakephp中进行表单验证?

时间:2016-03-14 07:18:48

标签: cakephp cakephp-2.8

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

我想知道如何进行表单验证。我读到cakephp 2.4及以上在表单验证方面存在问题,我的是cakephp 2.8。

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

我已阅读食谱但没有帮助。如果有人可以提供帮助,请继续使用该框架。

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分: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();
}