beforeSave関数でモデルからフラッシュメッセージまたはエラーメッセージを設定し、ビューでエラー/メッセージを読み取る方法はありますか? そして、私は検証エラーについて話しているのではありません。
質問する
1229 次
1 に答える
7
これらの行に沿ったものは、手元にある情報で動作するはずです:
<?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);
}
}
}
于 2012-06-15T19:37:04.523 に答える