Yii自定义模型错误

lvi*_*vil 5 php yii

我正在保存一个模型实例,在"beforeSave"模型函数中执行一些操作.
我想在模型中添加一些错误/消息,然后将它们放入控制器并显示给用户.
到目前为止,我有两个如何实现这一点的想法:

  • 使用带有ActiveRecord函数的虚拟属性"addError": $this->addError("dummy"=>"my message"); 这不是最好的方法,因为我必须创建新的虚拟属性.
  • 将新属性"custom_errors"添加到模型和函数"addCustomErrors"

也许有内置的方式来做它或扩展?
无论如何我该怎么办?

Pay*_*tey 6

您可以使用addError(),但不需要编写虚假属性.如果错误与模型本身的任何内容无关,那么你做错了:p

所以在你的情况下它会是这样的:

 $this->addError('file', 'Something happened I wasn\'t pleased with');
Run Code Online (Sandbox Code Playgroud)

如果file属性上有任何其他错误,它们将会重叠,因此您无需担心覆盖.