Использование класса Illuminate\Foundation\Http\FormRequest для валидации любых данных.

Laravel предлагает через классы проверять входящие запросы, а другие методы валидации не используют ООП, и требуют вручную указывать массив правил валидации. Правильным решением, я считаю использование класса Illuminate\Foundation\Http\FormRequest для валидации любых данных. В документации я не нашел готового примера как это сделать, поэтому пришлось разбираться самому.

$request = \App\Http\Requests\MyFormRequest::create('', 'GET', [
    'id' => 'XXX',
    'test' => 123
]);

try
{
    $validated = $request->validate($request->rules());
}
catch(\Illuminate\Validation\ValidationException $e)
{
    var_dump($e->errors());

    die;
}

var_dump($validated);

Вот минимальный код, который позволяет инициализировать класс запроса и проверить массив произвольных данных.

20.10.2021