为啥即使我更改为数字,laravel 仍然验证电子邮件?
Posted
技术标签:
【中文标题】为啥即使我更改为数字,laravel 仍然验证电子邮件?【英文标题】:Why laravel still validate email even I change to number?为什么即使我更改为数字,laravel 仍然验证电子邮件? 【发布时间】:2020-04-01 02:53:43 【问题描述】:我想使用号码而不是电子邮件登录: 因此,我将代码更改为:
<div class="panel-body">
<form class="form-horizontal" method="POST" action=" route('login') ">
csrf_field()
<div class="form-group $errors->has('matric_no') ? ' has-error' : '' ">
<label for="matric_no" class="col-md-4 control-label">Matric No</label>
<div class="col-md-6">
<input id="matric_no" class="form-control" type="number" name="matric_no" value="
old('matric_no') " required autofocus>
@if ($errors->has('matric_no'))
<span class="help-block">
<strong> $errors->first('matric_no') </strong>
</span>
@endif
</div>
</div>
但每次我尝试登录时,错误都是:
电子邮件字段是必需的。
【问题讨论】:
用户名自定义 默认情况下,Laravel 使用电子邮件字段进行身份验证。如果你想自定义这个,你可以在你的 LoginController 上定义一个用户名方法 [link]laravel.com/docs/5.8/authentication#included-authenticating Laravel 自带的默认用户迁移对电子邮件有独特的限制,您可能希望使用自定义迁移来使您的号码独一无二。 请出示控制器。 【参考方案1】:在你的 LoginController 中插入这段代码
public function username()
return 'matric_no';
【讨论】:
以上是关于为啥即使我更改为数字,laravel 仍然验证电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章
为啥如果我更改为 INPUT_GET 此代码将始终执行“其他”代码