如何验证模型是否从控制器验证

时间:2011-12-10 06:18:39

标签: cakephp

我有一个控制器,我在表中添加了一些注册值,但是在控制器中我想知道页面是否经过验证,我现在的问题是当它进入模型并验证时并且有一个错误,它将返回到注册页面,但密码中填入了哈希值,所以我需要添加一些内容,如果(验证)这样做....这是我的代码

CONTROLLER

<?php
class UsersController extends AppController {

    var $uses = array("User");
    var $components =array('Session');

    function index()
    {
        $this->set('users', $this->User->find('all'));
         $this->layout = 'master_layout';
    }

      function add() { 

          if (!empty($this->data)) {
//HERE I WOULD LIKE TO KNOW IF THE VALIDATION FROM MY MODEL RETURNED VALID OR NOT

             $this->data['User']['user_password'] = Security::hash($this->data['User']['user_password']);
             if ($this->User->save($this->data)) {
                $this->Session->setFlash('Your were registered!.');
                               $this->redirect(array('action' => 'index'));
             }
          }

         $this->layout = 'custom_layout';
      }

}
?>

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是将密码输入的value属性设置为空。这是执行此操作的标准方法。

但是,如果您想知道错误是什么以及模型是否经过验证,您还可以查看模型的$this->ModelName->validates()方法。

您还可以使用此方法来获取模型中的错误 - $this->ModelName->invalidFields()

食谱链接 - http://book.cakephp.org/view/1182/Validating-Data-from-the-Controller

这适用于CakePHP 1.3