В прошлых статьях был рассмотрен механизм валидации принимаемых данных. Рекомендуем посмотреть эти статьи:
В этой статье будет подробнее описан способ изменения сообщений, которые выдаются в процессе обработки ошибок.
Изменение сообщений об ошибках
Существует несколько способов для задания своих текстов сообщений об ошибках валидации. Первый - можно передать текст сообщения третьим аргументом для метода "make" класса "Validator":
<?php
$messages = [
'required' => 'Необходимо заполнить поле :attribute.',
];
$validator = Validator::make($input, $rules, $messages);
?>
Обратите внимание на ":attribute" в тексте сообщения. Оно будет заменено на имя передаваемого поля. Приведём другие примеры автоматической подстановки таких значений:
<?php
$messages = [
'same' => ':attribute и :other должны совпадать.',
'size' => ':attribute должен быть равен :size.',
'between' => ':attribute должен быть между :min и :max.',
'in' => ':attribute должен иметь один из следующих типов: :values',
];
?>
Если нужно установить текст ошибки только для конкретного поля, а не для всех подобных ошибок во всех полях, то необходимо записать его через точку "имя_атрибута.правило":
<?php
$messages = [
'email.required' => 'Нам надо знать ваш e-mail!',
];
?>
Сообщения на разных языках
Ситуация с передачей текста сообщения напрямую в "validator" встречается довольно редко. Обычно сообщения записываются в языковом файле
resources/lang/xx/validation.php
. Там они записываются
<?php
'custom' => [
'email' => [
'required' => 'Пожалуйста, введите свой e-mail',
],
],
?>
Кроме того в этом файле файле можно указывать свои шаблоны для замены (как с ":attribute"):
<?php
'attributes' => [
'email' => 'адрес электронной почты',
],
?>