Имена полей в Form Request Laravel
В стандартных сообщениях Laravel
подставляет имя поля из запроса:
title, email,
password_confirmation.
Для программиста это ясно, для
пользователя - нет. В ошибке лучше
видеть «заголовок» или «электронная
почта», а не техническое имя из HTML.
Метод attributes как раз
задаёт такие подписи. Ключ - имя
поля в форме, значение - текст,
который подставится в сообщение:
<?php
public function attributes(): array
{
return [
'title' => 'заголовок',
'text' => 'текст записи',
];
}
?>
Это не замена messages.
messages задаёт целую фразу
ошибки целиком. attributes
меняет только «имя поля» внутри
стандартного шаблона сообщения.
Оба метода можно использовать вместе:
где нужна особая формулировка -
messages, где хватает
стандарта с нормальным именем -
attributes.
После добавления атрибутов снова отправьте форму с пустым полем и сравните текст ошибки с тем, что было до правки.
Добавьте attributes
для полей работника.
Сравните текст ошибки до
и после attributes.
Чем attributes отличается
от messages?