问题
I am trying to implement email verification in Laravel 5.7. I have implemented MustVerifyEmail
on User
model.
class User extends Authenticatable implements MustVerifyEmail
{
}
But after registration I got this error Route [verification.verify] not defined
.
What I am missing in this? Please guide?
回答1:
Laravel includes the Auth\VerificationController
class that contains the necessary logic to send verification links and verify emails. To register the necessary routes for this controller, pass the verify
option to the Auth::routes
method:
Auth::routes(['verify' => true]);
You can read more information here : https://laravel.com/docs/5.7/verification
回答2:
You are missing Auth::routes(['verify' => true])
in Routes\Web.php
.
I suggest watch this video, where it has explained in detail how email verification works in Laravel 5.7.
https://www.youtube.com/watch?v=dbmox3tgI2k
回答3:
In routes/web.php
file, add following piece of code:
Auth::routes(['verify' => true]);
Ref: https://laravel.com/docs/5.7/verification#verification-routing
回答4:
In routes/web.php ensure
Auth::routes(['verify' => true]);
Then run :
php artisan route:cache
to clear cached routed and update incoming changes
回答5:
You can remove 'verified' middleware, for example:
<?php
Route::middleware(['auth', 'verified'])
->group(function(){
...
});
?>
Try it, should solve the problem
回答6:
Run:
php artisan optimize:clear
It will clear your cache.
来源:https://stackoverflow.com/questions/52653533/laravel-5-7-email-verification-error-route-verification-verify-not-defined