Laravel 10中Admin Guard登录提示‘email字段必填’问题解决
问题:Laravel 10适配Firebase后登录提示「The email field is required」错误
问题场景
Laravel 10项目原本本地认证功能正常,适配Firebase配置后,注册功能可正常使用,但普通用户登录与Admin Guard登录均抛出「The email field is required」错误。涉及文件包括:
- 路由文件:
web.php - 登录控制器:
LoginController.php - 登录视图:
login.blade.php
问题原因
- 登录视图的邮箱输入框
name属性设置为login,但Laravel(含Firebase适配后的)认证逻辑默认期望接收email字段作为登录标识,导致字段无法被正确识别; - 表单提交路由指向普通用户的
login路由,而非Admin Guard对应的admin.login路由,认证逻辑匹配错误,进一步触发字段缺失校验。
解决方案
修改login.blade.php文件:
- 调整邮箱输入框的
name属性:<!-- 修改前 --> <input type="email" name="login" class="form-control" placeholder="Email"> <!-- 修改后 --> <input type="email" name="email" class="form-control" placeholder="Email"> - 更新表单提交的路由:
<!-- 修改前 --> <form method="POST" action="{{ route('login') }}"> <!-- 修改后 --> <form method="POST" action="{{ route('admin.login') }}">
内容的提问来源于stack exchange,提问作者Kholid Syaifullah
相关产品推荐
相关产品推荐

