【发布时间】:2013-10-17 07:09:50
【问题描述】:
在某些情况下,我希望 Yii 行为中的 beforeSave 中断保存并返回错误。我尝试过但没有奏效的是:
public function beforeSave($event) {
parent::beforeSave($event);
$tested_value = null;
if(is_null($tested_value)){
$this->validationErrors = Yii::t('app', 'Ops! Error');
return false;
}
}
在控制器中:
$model=new Post;
if($model->save()){
// no matter what this is always executed
} else {
print_r($model->validationErrors);die;
}
【问题讨论】:
-
validationErrors 变量是否在模型类中声明?像 public $validationErrors
-
Yii 使用规则验证所有输入,您根本不应该执行该 beforesave 操作.. 无论如何存在 isValid 变量,如果您将其设置为 false,您将阻止保存..
标签: php yii yii-events yii-behaviour