gpt4 book ai didi

cakephp - 如何在不使用 cakephp3 验证的情况下将错误消息注入(inject)实体?

转载 作者:行者123 更新时间:2023-12-03 07:40:48 28 4
gpt4 key购买 nike

我有一个模型,它在 beforeSave 回调中检查了很多东西。我不想为此目的使用 cakephp 验证系统,因为在这种情况下它对我来说更简单。

如果检查链在某处失败,我返回 false 并且没有保存,这是正常工作。我想在实体中返回非正式错误消息以在 Controller 和/或 View 中使用它。

我怎么能这样做?
例子:

public function beforeSave($event, $entity, $options)
{
if($entity->isNew())
{
if(fail1) $entity->inserterrormessage('XYZ is missing');
if(fail2) $entity->inserterrormessage('Please check if...');
}
}

最佳答案

How I can do that?



通过 errors()方法,或者从 CakePHP 3.4 开始, setError()setErrors()方法。
$entity->errors('propertyName', ['Message']);
$entity->setErrors(['propertyName' => ['Message']]);
$entity->setError('propertyName', ['Message']);

如果错误与实际的实体属性无关,只需选择一个特殊名称,如 _generic .或者,在基本实体或特征中创建自定义通用错误存储功能。

也可以看看
  • Cookbook > Database Access & ORM > Entities > Validation Errors
  • API > \Cake\DataSource\EntityTrait::errors()
  • API > \Cake\DataSource\EntityTrait::setError()
  • API > \Cake\DataSource\EntityTrait::setErrors()
  • 关于cakephp - 如何在不使用 cakephp3 验证的情况下将错误消息注入(inject)实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44043790/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com