CakePHP在重定向后保留验证错误

时间:2011-03-08 17:05:26

标签: cakephp cakephp-1.3

我有一个显示评论表单的元素,操作是评论/添加。如果表单没有验证,我不希望用户转到评论/添加(视图不存在),但我希望它们保留在同一页面上并查看那里的验证错误。

但是,重定向到$ this-> referer()不起作用 - 验证错误消失,只剩下flash消息。

public function add(){
    if (!empty($this->data)){
        $this->Comment->create();
        if ($this->Comment->save($this->data)){
            $this->Session->setFlash('Comment added.','success');
            $this->redirect($this->referer());
        }else{
            $this->Session->setFlash('There was a problem adding your comment.  Please try again.','failure');
        }
    }
}

如何保留验证错误并在重定向上形成数据?如果这不可能,我还能怎样解决这个问题?

非常感谢,

威尔

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

只需删除$ this->重定向($ this-> referer());共

此外,如果您正确设置了字段验证,用户如何进行重定向?如果输入了无效数据,则save()函数将失败,并且用户永远不会看到重定向,并且db将永远不会接受任何数据。