代码之家  ›  专栏  ›  技术社区  ›  Satu Sultana

如何在cakephp 3中闪烁不同窗体动作字段验证错误消息

  •  0
  • Satu Sultana  · 技术社区  · 8 年前

    我有一个视图,其中有两个表单。一个用于登录,另一个用于注册。对于注册操作,我使用了操作

    Users/add
    

    我在我的 login.ctp 喜欢

    <?= $this->Form->create($user, ['url' => ['action' => 'add']]); ?>
    

    在add action I中编写的代码

    public function add()
        {
            $user = $this->Users->newEntity();
            if ($this->request->is('post')) {
                $user = $this->Users->patchEntity($user, $this->request->getData());
                if ($this->Users->save($user)) {
                    $this->Flash->success(__('The user has been saved.'));
                    return $this->redirect(['action' => 'login']);
                }else{
    
                    $this->Flash->error(__('The user could not be saved. Please, try again.'));
                    return $this->redirect(['action' => 'login']);
                } 
            }
            $this->set(compact('user'));
        }
    

    现在,如果我犯了任何验证错误,例如密码匹配验证错误,则此错误不会显示在字段下 password . 但我可以从add中看到它。ctp。

    如何将此验证错误消息从添加操作发送到登录操作?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Alimon Karim    8 年前

    如果需要将当前操作转发到同一控制器上的其他操作,可以使用controller::setAction()

    public function add()
    {
        $this->setAction('login');
    }
    

    doc