当前位置: 首页 > 知识库问答 >
问题:

Laravel:在表单验证失败时重定向到其他url,而不是以前的url

范成周
2023-03-14

注意:我不想重定向到以前的url。

我的注册表格是主页上的一个模式,在这里我将表格发布到auth/register,但当发生验证错误时,它会将我重定向回主页。我想重定向到另一个路由“auth/register”,其中将显示验证错误。

我通过身份验证和注册用户,验证请求,网址生成器。我发现它使用标题参考信息重定向我回到以前的网址。

有什么办法我可以设置在身份验证和注册用户特征,后注册方法,如果验证错误发生从这个方法然后重定向到这个特定的网址,而不是使用以前的网址?

共有2个答案

阎宝
2023-03-14

我通过修改AuthenticateAndRegisterUsers解决了这个问题。php文件位于:

\供应商\larvel\framework\src\illumb\Foundation\Auth\authenticates和注册用户。php

我添加了这一行:返回重定向('auth/register')-

    public function postRegister(Request $request)
{

    $validator = $this->registrar->validator($request->all());

    if ($validator->fails())
    {
        /* $this->throwValidationException(
            $request, $validator
        ); */
        return redirect('auth/register')->withErrors($validator)->withInput();
    }

    $this->auth->login($this->registrar->create($request->all()));

    return redirect($this->redirectPath());
}
曹铭晨
2023-03-14

只需编写自己的postRegister()方法,并在其中执行自己的验证和重定向。这就是它的设计方式——所以你可以重载任何你想定制的方法。

 类似资料:
  • 遵循这个指南:https://www.youtube.com/watch?v=bqkt6eSsRZs 添加了从laravel docs的auth路由 创建登录/注册视图 创建 /home路线 自定义AuthController: 尝试访问身份验证/登录时,我遇到以下错误: 请求中出现错误异常。php第775行:。。未根据请求设置会话存储。 已将身份验证路由移动到中间件组。 成功注册,在数据库和会话

  • 我有一个输入栏,在提交时必须重定向到另一个https页面(包含谷歌搜索)。表格的代码如下所示: 我也添加了amp表单扩展。官方文件说: 提交amp表单后重定向还允许发布者在提交发生后通过amp重定向到响应标题将用户重定向到新页面。 请注意,您还必须更新访问-控制-暴露-报头响应报头,以将AMP重定向到允许报头的列表中。 重定向URL必须是绝对HTTPS URL,否则AMP将抛出错误,重定向将不会发

  • 我正在laravel中创建一个多身份验证系统,其中有两种类型的用户:管理员(由我创建)和用户(使用本地laravel身份验证系统)。 如果我以用户身份登录,当我尝试访问登录页面时,当我已经登录,它会将我重定向回仪表板,但如果我以管理员身份登录,当我再次访问管理员登录页面时,它会让我再次登录,尽管已经作为管理员登录。 以下是我的重定向身份验证类代码: 有人能解释一下发生了什么事吗?

  • 我正在验证我的用户,并将其重定向到仪表板(如果凭据正确)。我想保护仪表板路由并添加中间件auth,但现在它总是重定向到登录页面。 路线。php HomeController.php 中间件Authenticate.php 中间件重定向已验证。php

  • 问题内容: 我重置了本地flask环境,但是没有通过捕获它的依赖项,pip freeze然后再将其删除。因此,我不得不重新安装整个堆栈的最新版本。 现在,我突然无法使用表单进行验证了。Flask声称CSRF将丢失。 第一次发送Get邮件时,我按预期检索了一个空邮件。现在,我填写表格并提交并form.errors显示: 真奇怪 我想知道Flask-WTF是否已更改,并且使用错误。 我可以清楚地看到存

  • 我使用Laravel 5.2。我想问一个问题。如何更改重定向登录表单在laravel当我们已经做登录?我使用的是来自Php artisan make: auth的auth。 我已经登录并重定向到localhost:8000/admin 然后我再次打开localhost:8000/登录。它将重定向到“/”或localhost:8000/ 我的问题是如何将“/”更改为“/”管理员“?因此,即使我已经登