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

时间:2018-05-25 04:52:18

标签: cakephp cakephp-3.0

如何将实体值“$ 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 value is $ entity-> from_date-> i18nFormat('dd / MM / yyyy');

1 个答案:

答案 0 :(得分:1)

与验证规则类似,应用程序规则可以返回字符串而不是布尔值false,它也表示失败,字符串将用作错误消息。

但是要求errorField选项存在,否则规则将无声地失败,而不会在实体上设置错误!

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

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

如果在Cookbook中记录了这一点,可能不会有什么伤害...... 现在是。

另见