@suhuxa1

Как в laravel при валидации задать для каждого поля свое имя на русском?

Привет!
Валидирую поля, и начал добавлять свои сообщения в стиле:

Поле :attribute обязательно к заполнению!

К сожалению, вместо :attribute подставляется название поля, и в результате вид будет примерно таким:

Поле name обязательно к заполнению!

Как вместо :attribute добавить русские названия полей, чтобы было написано: "Поле "Имя" пустое". Поле "Фамилия" пустое. ?
  • Вопрос задан
  • 1834 просмотра
Пригласить эксперта
Ответы на вопрос 2
amelihovv
@amelihovv
Фулстек веб разработчик
Один из аргументов валидатора - $attributes, массив в с кастомными названиями аттрибутов.
\Validator::make($data, $rules, $messages, [
     'name' => 'имя',
 ]);

Глобально это можно сделать в resources/lang/en/validation.php по ключу attributes.
Если используете FormRequest для валидации, то в нем можно переопределить метод attributes
public function attributes()
{
  return ['name' => 'имя'];
}
Ответ написан
Комментировать
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Про русское не гуглил лично, но можно делать вот так

$validator = \Validator::make([
            'filters' => $filters,
        ], [
            'filters.filters.date_from.value' => 'bail|required|date',
            'filters.filters.date_to.value' => 'bail|required|date',
        ], [
            'filters.filters.date_from.value.required' => 'Укажите дату начала',
            'filters.filters.date_from.value.date' => 'Укажите корректную дату начала',
            'filters.filters.date_to.value.required' => 'Укажите дату конца',
            'filters.filters.date_to.value.date' => 'Укажите корректную дату конца',
        ]);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект