Laravel 5 中的登录和注册表单

Posted

技术标签:

【中文标题】Laravel 5 中的登录和注册表单【英文标题】:Login and registration form in Laravel 5 【发布时间】:2014-12-08 22:02:32 【问题描述】:

我开始学习一个新的 laravel 并尝试通过构建小项目来学习它,以制作我的入门网站,但我遇到了一个问题。我只创建没有任何插件的新项目。 我的登录和注册表单有问题。我把它放到路由文件中:

get('user/login', 'Auth\AuthController@showLoginForm');
post('user/login', 'Auth\AuthController@postLogin');
get('user/register', 'Auth\AuthController@showRegistrationForm');
post('user/register', 'Auth\AuthController@register');

并制作登录和注册表单。它向我显示了一个表单,但我无法提交它,我不知道如何插入数据库或如何验证用户凭据。你能告诉我如何在新的 beta Laravel 框架中做到这一点吗?

问题是 Laravel 向我显示了一个登录和注册表单。但是当我点击提交它什么也没做,只刷新页面。我将 method="POST" action="" 放入表单中。当我改变

public function register(RegisterRequest $request)

进入

public function register()

在 App\Http\Controllers\Auth\AuthController 中,当我提交表单时,它给我一个错误,即找不到 $request。

您可以在以下位置查看所有代码: this link

【问题讨论】:

不能提交是什么意思?你不能创建提交按钮?一切都与 Laravel 4 中的一样,所以向我们展示你的代码并解释究竟是什么不起作用 【参考方案1】:

这是在 Laravel 5 中使用 request 时的工作方式。例如,如果您以这种方式注入 Request 对象:

public function register(RegisterRequest $request) 
   // your code goes here

RegisterRequest 验证您的数据成功之前,不会执行此函数的代码。

看看你的规则:

    return [
        'email' => 'required|email|unique:users',
        'password' => 'required|confirmed|min:8',
   ];

您需要确保您的数据符合这些规则。

您还应该在表单中添加显示错误:

@foreach ($errors->all() as $error)
  $error 
@endforeach

在表单中显示验证错误。

编辑

您的代码似乎一切正常。正在启动有效功能。如果您不相信我,请将您的 register 函数更改为:

public function register()

   return "This is register function";

你得到的错误是因为如果你从你的函数参数中删除RegisterRequest $request,你以后不能使用$request->email;,因为它是未定义的

【讨论】:

我很清楚,但是如何放置路由文件,那个帖子表单去注册功能? @mrakodol 一切正常,我已经编辑了答案 是的,现在可以使用了。我没有找到登录后或注册表单的规则。 TNX。

以上是关于Laravel 5 中的登录和注册表单的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 中的注册和登录表单不起作用

在一个用户表中使用 user_type 字段为多个用户创建 laravel 5.2 用户注册

Laravel 5.1 中的多步注册

Laravel 5.0 显示登录客人和注册用户

使用Laravel 5登录/注册API [关闭]

Laravel 验证登录表单验证在密码确认中失败?