Подключение Form Request в контроллере Laravel
Чтобы Form Request заработал,
его нужно указать параметром
действия вместо обычного
Request. Laravel увидит
тип, создаст объект вашего класса
и до вызова метода прогонит
авторизацию и правила из rules.
Если проверка прошла, внутри
действия будет тот же запрос,
но уже с гарантированно проверенными
данными. Их удобно брать методом
validated - он вернёт массив
только тех полей, что описаны
в правилах:
<?php
public function store(StorePostRequest $request)
{
$validated = $request->validated();
}
?>
Если проверка не прошла, тело
store даже не выполнится.
Laravel сам сделает редирект назад
и положит ошибки в сессию - поведение
то же, что у validate.
В шаблоне по-прежнему работают
$errors и @error.
Не забудьте подключить класс
через use вверху файла
контроллера, если IDE или PHP
не подставят его сами. Иначе
будет ошибка «класс не найден».
Подключите StoreEmployeeRequest
в действие сохранения работника.
Получите проверенные данные
через validated.
Отправьте форму с пустым обязательным полем и убедитесь, что действие не выполнилось, а на странице видны ошибки.