Отсутствуют обязательные параметры для [Route: verify.verify] [URI: {locale} / email / verify / {id} / {hash}] - PullRequest
2 голосов
/ 21 февраля 2020

В процессе регистрации при отправке письма с подтверждением выдачи с добавлением {locale}. Данные добавляются в базу данных. Но после этого возникает следующая проблема.

Отсутствуют обязательные параметры для [Route: verify.verify] [URI: {locale} / email / verify / {id} / {hash}].

I думаю, это будет какой-то тип переопределения процесса проверки.

web. php

Route::group([
  'prefix' => '{locale}', 
  'where' => ['locale' => '[a-zA-Z]{2}'], 
  'middleware' => 'setlocale'], function() {
Auth::routes(['verify' => true]);

Route::get('/home', 'HomeController@index')->name('home');
});

Route::get('/', function () {
    return redirect(app()->getLocale());
});

vendor / laravel / framework / src / Illuminate / Routing / Router. php

$this->get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify');

Я знаю, что в маршрутизаторе {locale} не совпадает с маршрутизацией. Но как решить эту проблему?

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Вместо использования Auth::routes(['verify' => true]); просто используйте Auth::routes(); и добавьте вручную следующие маршруты:

Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');

Route::group([ 'prefix' => '{locale}', 'where' => ['locale' => '[a-zA-Z]{2}'], 'middleware' => 'setlocale'], function() { 
    Auth::routes();
    Route::get('/home', 'HomeController@index')->name('home'); 
}); 

проверка SO ответ .

0 голосов
/ 03 апреля 2020

Для Laravel 6 и 7 маршрут проверки.verify:

'email/verify/{id}/{hash}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...