Laravel 5中的登录和注册表

时间:2014-10-14 07:41:06

标签: laravel laravel-routing laravel-5 laravel-form laravel-request

我开始学习一个新的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向我显示了登录和注册表单。但是,当我点击提交时,它什么都不做,只刷新页面。我把方法=" POST"行动=""形式。当我改变

public function register(RegisterRequest $request)

进入

public function register()

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

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

1 个答案:

答案 0 :(得分:1)

当您使用请求时,这就是它在Laravel 5中的工作方式。如果以这种方式注入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;,因为它未定义