Метод validate в Laravel
В прошлом уроке форма отправляла
данные в контроллер без проверки.
Теперь добавим валидацию -
метод validate у объекта
Request.
В него передают ассоциативный массив:
ключ - имя поля формы, значение -
строка с правилом проверки.
На каждое поле пока вешаем
одно правило. Для заголовка
нужно, чтобы поле не было пустым -
required. Для email -
чтобы значение похоже на адрес
почты - email:
<?php
$request->validate([
'title' => 'required',
'email' => 'email',
]);
?>
Вызов validate ставят
в обработчик POST - сразу после
того, как запрос пришёл в действие:
<?php
public function form(Request $request)
{
if ($request->isMethod('post')) {
$request->validate([
'title' => 'required',
'email' => 'email',
]);
dump('данные прошли проверку');
}
return view('post.form');
}
?>
Если правило не выполнено, Laravel
не дойдёт до строки с dump -
сработает ошибка проверки.
Что именно происходит при провале
и при успехе - в следующих уроках.
Добавьте validate
к форме из прошлого урока
с правилами required
для title и email
для поля email.
Отправьте форму с пустым
title и с неверным email
по отдельности. Убедитесь,
что код после validate
не выполняется.