Делал один проект на Yii2 и столкнулся с проблемой создания своего сообщения при валидации числа (integer) правилом min / max и in range.
Использовал такое правило:
1 2 |
['year_birthday', 'in', 'range' => [1000, 2000], 'message' => 'Вам нет 18 лет!'] ['year_birthday', 'min'=> 2000, 'max' => 2000, 'message' => 'Вам нет 18 лет!'] |
В данном случае при получении из year_birthday допустим 2010 должна выпадать ошибка «Вам нет 18 лет!» но почему то упорно выводилось стандартное сообщение что поле не должно быть более 2000.
Решение нашлось!
1 2 |
['year_birthday', 'compare', 'compareValue' => 1000 , 'operator' => '>=', 'message' => 'Вам нет 18 лет!'], ['year_birthday', 'compare', 'compareValue' => 2000 , 'operator' => '<=', 'message' => 'Вам нет 18 лет!'], |
Такие правила отлично отрабатывают!
когда используешь min , то чтобы сообщение было нужно писать — tooSmall
[‘landed_at’, ‘number’, ‘min’ => 0, ‘tooSmall’ => ‘The value must be greater than Zero(0).’],