CakePhp:读取控制器内的查看规则消息

时间:2015-02-20 16:13:51

标签: php mysql cakephp

我以这种方式宣布了我的观点的验证字段:

public $validate = array(
    'myField' => array(
        'alphaNumeric' => array(
            'rule' => 'alphaNumeric',
            'required' => true,
            'message' => 'username required'
        ),
        'unique' => array(
            'rule' => 'isUnique',
            'required' => 'create',
            'message' => 'Username already used'
        )
    )
);

有没有办法知道(在相对控制器类内)何时触发此消息? 因为如果违反了其中一条规则,我想执行一些任务,而不是简单地向用户显示消息。

1 个答案:

答案 0 :(得分:1)

是的,首先将数据设置为控制器中的模型:

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

然后,要检查数据是否有效,请使用模型的validates方法,如果验证则返回true,如果不验证则返回false:

if ($this->ModelName->validates()) {
    // it validated logic
} else {
   // didn't validate logic
   $errors = $this->ModelName->validationErrors;
}

要了解有关validationErrors的更多信息,请访问cakephp Validating Data from the Controller文章。