我有一个模型,它在beforeSave回调中检查了很多东西。我不想使用cakephp验证系统,因为它在这种情况下对我来说更简单。
如果检查链在某个地方失败了,我返回false并且没有保存发生,这是正常的工作。我想在实体中给予非正式的错误消息,以便在控制器和/或视图中使用它。
我该怎么做?
范例:
public function beforeSave($event, $entity, $options)
{
if($entity->isNew())
{
if(fail1) $entity->inserterrormessage('XYZ is missing');
if(fail2) $entity->inserterrormessage('Please check if...');
}
}
字符串
1条答案
按热度按时间rqcrx0a61#
我该怎么做?
通过
errors()
方法,或者从CakePHP 3.4开始使用setError()
和setErrors()
方法。字符串
如果错误与实际的实体属性无关,只需选择一个特殊的名称,如
_generic
。或者在基本实体或trait中创建自定义的通用错误存储功能。另见
*Cookbook > Database Access & ORM > Entities > Validation Errors
*API > \Cake\DataSource\DataTrait::errors()
*API > \Cake\DataSource\CaketTrait::setError()
*API > \Cake\DataSource\DataTrait::setErrors()