如何将validationErrors从控制器传递到视图?

时间:2013-08-16 13:33:07

标签: php cakephp-2.3

我已在validationErrors

中设置UsersController登录
public function login() {
    if ($this->request->is('post')) {
        $this->User->set($this->request->data);
        if ($this->User->validates() && $this->Auth->login()) {
            $this->set('ui', $this->Auth->user('id'));
            $this->Session->setFlash(__('Loged in!'), 'flash_success');
            $this->redirect($this->Auth->redirect());
        } else {
            $errors = $this->User->validationErrors;
        }
    }

}

现在我如何在我的视图中使用$error或作为要在我的表单上方列出的元素?

Plz帮助我搜索了很多,但答案是针对旧的CakePHP,我正在使用CakePHP 2.3.8。

1 个答案:

答案 0 :(得分:1)

自动在视图中提供验证错误

在视图中无需采取任何操作来获取验证错误,因为它们是a property of the view class。它们可以通过以下方式进行检查:

debug($this->validationErrors);

在视图中。

但您可能不需要访问它们

但请注意,需要直接查看此属性是不正常的。使用表单帮助程序错误会自动显示,或者您可以generate errors individually

if ($this->Form->isFieldError('email')) {
    echo $this->Form->error('email');
}