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
:
1Route::group([2 'prefix' => '{locale}',3 'where' => ['locale' => '[a-zA-Z]{2}']4], function () {5 Route::get('/', 'HomeController@index');6 Route::get('article/{id}', 'ArticleController@show');7});