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



Laravel 5.0"开箱即用",带有一个配置为处理用户注册和登录的AuthController。

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

理想情况下,我希望users表具有唯一的用户名,而不是电子邮件地址;但是,我只能关闭验证器的一部分,该部分坚持登录页面上的"电子邮件地址"字段的格式类似于电子邮件地址。

(我想好了如何关闭客户端验证;但是,我不知道如何关闭服务器端验证——即生成"Whoops:…电子邮件必须是有效的电子邮件地址"消息的部分。)

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

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',
    ]);
}

相关内容

最新更新