首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel缺少路由所需的参数: verification.notice

Laravel缺少路由所需的参数: verification.notice
EN

Stack Overflow用户
提问于 2020-07-12 20:30:33
回答 1查看 299关注 0票数 0

使用Laravel 7.19

我的所有路由都需要区域设置,包括我的身份验证路由,以支持不同的语言。我已经为用户激活了电子邮件验证。

因此,一旦用户没有验证他的电子邮件,试图打开我网站上需要电子邮件验证的部分,Laravel会自动将他们重定向到这个路径: verification.notice

问题是路由需要locale参数,但我不知道如何将locale传递给路由。所以我收到了这个错误信息

代码语言:javascript
复制
Missing required parameters for [Route: verification.notice] [URI: {locale}/email/verify]. 

有人知道将我重定向到路由的函数: verification.notice吗?因为我需要调整或覆盖它,以便将locale参数传递给它。

我的web.php

代码语言:javascript
复制
Route::group(['middleware' => ['setlocale'],'prefix' => '{locale}', 'where' => ['locale' => '[a-zA-Z]{2}']], function() {

Auth::routes(['verify' => true]);   
    
});

编辑:找到一些有用的东西。文件/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php内部

有一个函数句柄

如果我将app()->getLocale()添加到其中,错误消息就会消失。现在看起来像这样

代码语言:javascript
复制
public function handle($request, Closure $next, $redirectToRoute = null)
    {
        if (! $request->user() ||
            ($request->user() instanceof MustVerifyEmail &&
            ! $request->user()->hasVerifiedEmail())) {
            return $request->expectsJson()
                    ? abort(403, 'Your email address is not verified.')
                    : Redirect::route($redirectToRoute ?: 'verification.notice',app()->getLocale());
        }

        return $next($request);
    }

但我不认为你应该改变/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php

如何正确覆盖此函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-12 21:31:57

听起来您必须复制中间件代码并以这种方式对其进行修改。只需从vendor目录复制Illuminate\Auth\Middleware\EnsureEmailsVerified.php的代码(顺便说一句,您永远不要编辑它自己),在App\Http\Middleware中创建一个新的中间件并将其添加到App\Http\Kernel中。

您看到的verification.notice路由是使用Auth::routes(['verify' => true]); (它的一部分,一组用于身份验证/验证的默认路由)添加的,如下所示:https://github.com/laravel/ui/blob/2.x/src/AuthRouteMethods.php#L84 (它是laravel/ui包的一部分)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62861096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档