Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Laravel: request, formrequest, validation

Что такое класс Request в Laravel: можно ли там описывать правила валидации параметров (где/как)?

Вопрос проверяет, понимаете ли вы, как Laravel работает с входящими HTTP-данными и где правильно размещать логику валидации.

Короткий ответ

Request в Laravel представляет входящий HTTP-запрос и даёт доступ к параметрам, заголовкам, файлам и пользователю. Правила валидации можно описывать прямо в контроллере, но чаще используют отдельные классы FormRequest. В FormRequest правила валидации описываются в методе rules(). Такой подход делает код чище и переиспользуемым.

Длинный ответ

Laravel предлагает удобную и структурированную работу с входящими данными через объект запроса.

Определение

Определение: Request — это объект, который инкапсулирует HTTP-запрос и предоставляет безопасный доступ к его данным.

Что даёт Request

  • доступ к данным запроса (input, query, all)

  • доступ к файлам (file)

  • информацию о пользователе (user)

  • методы валидации

Где описывать валидацию

Перед перечислением важно понимать, что Laravel предлагает несколько уровней валидации.

  1. В контроллере
    Подходит для простых случаев.

    $validated = $request->validate([
        'email' => 'required|email',
        'age' => 'integer|min:18',
    ]);
    
  2. В FormRequest (рекомендуемый способ)
    Используется для более сложных форм и API.

    class StoreUserRequest extends \Illuminate\Foundation\Http\FormRequest
    {
        public function rules(): array
        {
            return [
                'email' => 'required|email',
                'age' => 'integer|min:18',
            ];
        }
    }
    

    Такой Request автоматически валидируется до попадания в контроллер.

Дополнительные возможности FormRequest

  • кастомные сообщения об ошибках

  • проверка прав доступа (authorize)

  • подготовка данных (prepareForValidation)

Краткий вывод

Если валидация простая — можно оставить её в контроллере, но для реальных проектов и повторного использования лучше применять FormRequest.

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Laravel

    Laravel

Ключевые слова

#request

#formrequest

#validation

Подпишись на PHP Developer в телеграм

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.