如何在 RulesChecker 消息上添加字段值

How to add field value on RulesChecker message

如何将实体值“$entity->from_date”添加到规则消息中。

public function buildRules(\Cake\ORM\RulesChecker $rules)
{
   $rules->addCreate(function ($entity, $options) {    
      ....
      return true;    
   }, 'customRules', [
      'errorField' => 'error',
      'message' => 'This date = '.$date.' is exist.'
   ]);
}

$date 值为 $entity->from_date->i18nFormat('dd/MM/yyyy');

类似于验证规则,应用规则可以return一个字符串而不是布尔值false,它也表示失败,该字符串将用作错误消息。

但是需要 errorField 选项存在,否则规则将自动失败,不会在实体上设置错误!

$rules->addCreate(
    function ($entity, $options) {    
        // ...

        return 'Custom error message that can include values from $entity.';    
    },
    'ruleName',
    [
        'errorField' => 'field_name'
    ]
);

如果这被记录在食谱中可能不会有什么坏处...现在是。

另见