在默认的Laravel 5.0 AuthController中允许用户名而不是电子邮件

时间:2015-03-28 18:48:28

标签: authentication laravel

Laravel 5.0来了#34;开箱即用"配置AuthController以处理用户注册和登录。

是否可以快速轻松地配置/修改此默认配置,以使用更通用的用户名"而不是一个电子邮件地址?

理想情况下,我希望users表拥有唯一的用户名而不是电子邮件地址;但是,我只是因为只是关闭了那个坚持“电子邮件地址”的验证者的一部分。登录页面上的字段格式化为电子邮件地址。

(我想出了如何关闭客户端验证;但是,我无法弄清楚如何关闭服务器端验证---生成"哎呀的部分: ...电子邮件必须是有效的电子邮件地址。"消息。)

1 个答案:

答案 0 :(得分:2)

默认验证规则在App\Services\Registrar中定义。只需从email方法中删除validator规则:

public function validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|max:255',
        'email' => 'required|email|max:255|unique:users',
        //                   ^^^^^
        'password' => 'required|confirmed|min:6',
    ]);
}