В laravel 4 вы можете создать собственное сообщение об ошибке проверки, добавив его в массив $this->messages
. Но в моем случае мне нужно добавить его во время выполнения, когда обрабатывается пользовательское правило проверки.
Например, у меня есть такое правило:
Validator::extend('isCityNamesValid', function ($attribute, $value, $parameters) {
$value = array_map('trim', explode("\n", $value));
if(empty($value)) {
return true;
}
$invalidNames = \City::getInvalidCityNames($value, $parameters);
if(!empty($invalidNames)) {
$this->messages[$attribute.'.is_city_names_valid'] = sprintf('You provide invalid city names for selected countries, please remove/fix these names: %s.', implode(', ', $invalidNames));
return false;
}
return true;
});
В этом пользовательском правиле я создаю сообщение только в случае сбоя правила и добавляю пользовательские данные в сообщение. Возможно ли это без переопределения метода laravel passes
по умолчанию? или мне нужно сделать такую проверку без использования механизма проверки laravel?