1
모델에서 beforeSave 함수로 플래시 메시지 또는 오류 메시지를 설정하고 뷰에서 오류/메시지를 읽는 방법이 있습니까? 그리고 나는 유효성 검사 오류에 관해 말하는 것이 아닙니다.cakephp beforeSave 플래시 메시지
모델에서 beforeSave 함수로 플래시 메시지 또는 오류 메시지를 설정하고 뷰에서 오류/메시지를 읽는 방법이 있습니까? 그리고 나는 유효성 검사 오류에 관해 말하는 것이 아닙니다.cakephp beforeSave 플래시 메시지
이 라인을 따라 뭔가 손에서 사용할 수있는 정보와 함께 작동합니다 :
<?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);
}
}
}
이 가능성이 컨트롤러가이 임무를해야합니다, 당신은()은'beforeRender에 메시지를 설정할 수 MVC를 깰 것'행동 귀하의 컨트롤러의. 너는 무엇을 성취하려고 노력하고 있는가? – Ross
@ 로스 왜 이것이 MVC를 깨뜨릴까요? 모델은 에러 메시지를 컨트롤러에 다시 전달해야합니다.이 컨트롤러는 에러 메시지가 나타날 때까지 – icc97
@Ross이 대체 [answer on MVC errors] (https://stackoverflow.com/a/8453125/327074)를보아야합니다. 컨트롤러를 통해 전달 된 다음 MVC 함께 잘 작동합니다. – icc97