diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php index d5445da1c..05c43672d 100644 --- a/cake/libs/model/model.php +++ b/cake/libs/model/model.php @@ -1745,7 +1745,11 @@ class Model extends Overloadable { } if (!$valid) { if (!isset($validator['message'])) { - $validator['message'] = ife(is_string($index) || (is_numeric($index) && count($ruleSet) > 1), $index, $message); + if (is_string($index)) { + $validator['message'] = $index; + } else { + $validator['message'] = ife(is_numeric($index) && count($ruleSet) > 1, ($index + 1), $message); + } } $this->invalidate($fieldName, $validator['message']); diff --git a/cake/libs/view/helpers/form.php b/cake/libs/view/helpers/form.php index 17895e954..0a78eaced 100644 --- a/cake/libs/view/helpers/form.php +++ b/cake/libs/view/helpers/form.php @@ -310,6 +310,9 @@ class FormHelper extends AppHelper { $options = am(array('wrap' => true, 'class' => 'error-message', 'escape' => true), $options); if ($error = $this->tagIsInvalid()) { + if (is_array($text) && is_numeric($error) && $error > 0) { + $error--; + } if (is_array($text) && isset($text[$error])) { $text = $text[$error]; } else if (is_array($text)) {