代码之家  ›  专栏  ›  技术社区  ›  Yosi Azwan

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

  •  0
  • Yosi Azwan  · 技术社区  · 6 年前

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   ndm    6 年前

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

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

    $rules->addCreate(
        function ($entity, $options) {    
            // ...
    
            return 'Custom error message that can include values from $entity.';    
        },
        'ruleName',
        [
            'errorField' => 'field_name'
        ]
    );
    

    如果能在烹饪书上记录下来,可能不会有什么坏处。。。 现在是了。

    另见