Константы регулярных выражений Laravel, допускающие недопустимые параметры - PullRequest
0 голосов
/ 01 марта 2019

Я использую Laravel 5.6

У меня есть следующий маршрут, который я хочу разрешить передавать только числовые значения в id:

Route::group(['middleware' => ['auth.jwt']], function () {
    Route::get('endpoint/{id}/something', 'API\MyController@myMethod')
        ->where(['id' => '[0-9]+']);
});
  • Назначение метода: public function myMethod($id)

Но даже когда я передаю нечисловое значение в id, он передается MyController @myMethod, это НЕ мешает выполнитьroute.

Пробовал через RouterServiceProvider.php, тоже безуспешно:

public function boot()
{
    Route::pattern('id', '[0-9]+');
    parent::boot();
}

Есть идеи?

1 Ответ

0 голосов
/ 01 марта 2019

Я не знаю, чтобы запретить пользователю вводить недесятичное значение, но если я хочу достичь того же результата, я сначала проверю в myMethod() для $id, если не десятичное число, яabort(404) или перенаправит пользователя обратно с некоторым сообщением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...