Esempio n. 1
0
 public function addError(Cake $cake, $rule, $item, $arguments)
 {
     if (!array_key_exists($rule['name'], $this->messages)) {
         return;
     }
     //get values for the rule replacement
     $ruleName = $rule['name'];
     $field = is_null($item['alias']) ? $item['name'] : $item['alias'];
     $value = $item['value'];
     $arguments = count($arguments) > 1 ? join(', ', $arguments) : $arguments;
     if (!is_array($arguments) && array_key_exists($arguments, $cake->getItems())) {
         $arguments = $cake->getItems()[$arguments]['alias'];
     }
     $message = $this->messages[$rule['name']];
     $message = str_replace(['{rule}', '{field}', '{value}', '{arguments}'], [$ruleName, $field, $item['value'], count($arguments) > 1 ? join(', ', $arguments) : $arguments], $message);
     $this->errors[$item['name']][] = $message;
 }