首页 文章

cakephp beforeSave flash message

提问于
浏览
1

有没有办法在模型中设置flash消息或错误消息,在beforeSave函数中读取视图中的错误/消息 . 我不是在谈论验证错误 .

1 回答

  • 6

    沿着这些方向的东西应该与现有的信息一起使用:

    <?php
    class AppModel extends Model {
    
        public $lastErrorMessage;
    
        public function beforeSave(...) {
            $this->lastErrorMessage = null;
            return true;
        }
    
    }
    
    <?php
    class MyModel Extends AppModel {
    
        public function beforeSave(...) {
            parent::beforeSave(..);
            if (error) {
                $this->lastErrorMessage = 'Some error message';
                return false;
            }
            return true;
        }
    }
    
    <?php
    class MyController extends AppController {
    
        public function action() {
            if ($this->MyModel->save($this->request->data)) {
            } else {
                $message = "Some default message";
                if ($this->MyModel->lastErrorMessage) {
                    $message = $this->MyModel->lastErrorMessage;
                }
                $this->Session->setFlash($message);
            }
        }
    }
    

相关问题