We can validate parameters directly in the route, with “where” parameter. A pretty typical case is to prefix your routes by language locale, like fr/blog and en/article/333. How do we ensure that those two first letters are not used for some other than language?
routes/web.php:
Route::group([ 'prefix' => '{locale}', 'where' => ['locale' => '[a-zA-Z]{2}']], function () { Route::get('/', [HomeController::class, 'index']); Route::get('article/{id}', [ArticleController::class, 'show']);});
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
Laravel 12 For Beginners: Your First Project
15 lessons
1 h 32 min
NativePHP: Build Mobile App with Laravel
11 lessons
2 h 2 min read
Laravel HTTP Client and 3rd-Party APIs
7 lessons
50 min