多字段登录解决方案

    protected function validateChinaPhoneNumber($number)
    {
        return preg_match('/^1[34578]\d{9}$/', $number);
    }

    public function username()
    {
       $username = request()->get('username');

        $map = [
            'email' => filter_var($username, FILTER_VALIDATE_EMAIL),
            'phone' => $this->validateChinaPhoneNumber($username),
        ]; 
        $field=key(array_filter($map)) ?? 'username';
        request()->merge([$field => $username]);
        return $field;
    }
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2
 return collect(['username', 'email', 'mobile'])->contains(function ($value) use ($request) {
    return $this->guard()->attempt([
        $value => $request->input($this->username()),
        'password' => $request->input('password')
    ]);
});
6年前 评论
 return collect(['username', 'email', 'mobile'])->contains(function ($value) use ($request) {
    return $this->guard()->attempt([
        $value => $request->input($this->username()),
        'password' => $request->input('password')
    ]);
});
6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
文章
1
粉丝
0
喜欢
9
收藏
11
排名:1196
访问:3855
私信
所有博文
社区赞助商