Junior: питання на співбесіді з теми «Валідація»
Найпопулярніші питання з реальних Laravel/PHP співбесід для всіх рівнів
Всі теми
Artisan
Authentication
Blade
Collections
Database
Debugging
Eloquent
Enums
Files
HTTP та Request
Mail
Middleware
MVC та архітектура
Pagination
Routing
Seeder
Testing
Архітектура
Безпека
Валідація
Конфігурація
Локалізація
Міграції
Сесії
1 питання
Валідація перевіряє вхідні дані за набором правил перш ніж їх використати. Laravel має багату систему правил і кілька способів валідації.
1. Метод validate() прямо в контролері (найпростіше):
$validated = $request->validate([
'title' => ['required', 'string', 'max:255'],
'email' => ['required', 'email', 'unique:users,email'],
'age' => ['nullable', 'integer', 'min:18'],
]);
Якщо перевірка не пройдена, Laravel автоматично:
- для веб-запитів - робить редирект назад зі старими даними та помилками в сесії (доступні через
$errorsу Blade); - для API (запит очікує JSON) - повертає відповідь 422 зі структурою
{ "message": ..., "errors": {...} }.
2. FormRequest - для складнішої логіки правила й авторизацію виносять в окремий клас:
php artisan make:request StorePostRequest
public function rules(): array
{
return ['title' => ['required', 'max:255']];
}
Це розвантажує контролер. Є десятки вбудованих правил (required, email, unique, exists, confirmed, date), власні правила та умовна валідація.