РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrSpFRPr 57 of 210 menu

Подготовка данных в Form Request Laravel

Иногда данные с формы нужно поправить ещё до проверки правил. Пользователь мог ввести email с пробелами по краям или заглавными буквами. Для unique и сравнения строк лучше привести значение к единому виду заранее, иначе валидная почта может не пройти из-за пробела или регистра.

В Form Request для этого есть метод prepareForValidation. Он вызывается до rules. Через merge подставляют уже обработанные значения полей:

<?php protected function prepareForValidation(): void { $this->merge([ 'title' => trim($this->title), 'email' => strtolower($this->email), ]); } ?>

trim убирает пробелы по краям заголовка. strtolower приводит email к нижнему регистру. После merge Laravel считает, что в запросе уже лежат эти новые значения - и правила, и validated увидят именно их.

Сюда же кладут простые преобразования: пустую строку в null, сборку полного имени из частей, замену запятой на точку в числе. Главное - не путать подготовку с валидацией: здесь данные чистят и нормализуют, а «можно или нельзя» по-прежнему решают правила в rules.

В Form Request работника обрежьте пробелы у поля name.

Приведите email к нижнему регистру перед проверкой.

Когда вызывается prepareForValidation - до правил или после?

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить