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 中的登录和注册表单的主要内容,如果未能解决你的问题,请参考以下文章