0

我一直在寻找如何做到这一点的解决方案,但我最接近的解决方案是在你的模型中,有

public function beforeSave() {
    parent::beforeSave();

    if(!isset($this->data["Model"]["confirm"])) {
        return false;
    }
   }

在控制器中只需执行以下操作:

        $this->Model->save($this->request->data);
        if($this->Model->validates()) {
            $this->render("confirm");
        } else {
            $this->Session->setFlash(__('The model could not be saved. Please, try again.'));
            // now we can render
            $this->render("index");
        }

这种方法的问题是它会显示两次错误消息,有没有更好的方法来做到这一点?还是我应该以骇人听闻的方式执行此操作并找到一种方法来删除显示两次的错误消息。

4

1 回答 1

1

我应该更深入地研究一下文档:答案在http://book.cakephp.org/2.0/en/models/data-validation/validating-data-from-the-controller.html

感谢 @dm03514 指点我查看文档而不是 API(我已经阅读了几天但没有找到真正的答案)!

于 2012-05-14T14:49:20.403 回答