验证在 cakephp2.x 中不起作用

Validation doesn't working in cakephp2.x

我是 cakephp 的新人。我在 cakephp 2.6.7 中写了一个验证 ctp 文件用于查看登录和注销字词,但验证不起作用。

我的代码是:-

 <?php
    if (!$authUser) {

        echo $this->element('logout-header');
    } else {
        echo $this->element('login-header');
    }
    ?>

如何在 ctp 文件中编写验证以在我的页眉中查看登录和注销字词?

我有一个解决方案,我在使用 cakephp 时经常使用它。

在AppController.php

class AppController extends Controller{

     public function beforeFilter() {
          parent::beforeFilter();
          $userInfo = array();
          if($this->Auth->user('_id')){
               $userInfo['User'] = $this->Auth->user();
               Configure::write($userInfo);
          }
     }
}

然后查看 .ctp 文件

<?php
   $authUser = Configure::read('User');
   if (!$authUser) {
       echo $this->element('logout-header');
   } else {
       echo $this->element('login-header');
   }
?>

在您的 AppController 的 beforeRender() 回调中,通过检索登录用户设置 authUser 视图变量:-

public function beforeRender() {
    parent::beforeRender();
    $this->set('authUser', $this->Auth->user());
}

那么您问题中的视图代码应该会按预期工作。

为什么要写验证ctp?将您的验证规则放入模型

http://book.cakephp.org/2.0/en/models/data-validation.html