我想用Laravel认证按号码,名称,密码制作注册表。
所以我更改了LoginController.php中的用户名方法,并验证了方法,在RegisterController.php中创建了方法,就像下面的代码一样。
但总是显示错误
SQLSTATE[HY000]: General error: 1364 Field 'email' doesn't have a default value
LoginController
public function username()
{
return 'number';
}
RegisterController
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'number' => ['required'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
'password_confirmation' => ['required'],
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'number' => $data['number'],
'password' => Hash::make($data['password']),
]);
}
我花了2天的时间来查找注册自定义身份验证,但我只看到登录自定义。
我只找到一个有关注册自定义的内容。 但是此页面没有显示解决方案。
https://laracasts.com/discuss/channels/laravel/user-registration-without-email?page=1
请帮助我。
答案 0 :(得分:0)
您的用户模型具有main() was called.
source_2() was called. func() will be called.
func(), inside source_1, was called. 102*102 will be returned.
字段:
转到您的迁移email
,然后编辑:
create_users_table
到
$table->string('email')->unique();
但是我认为这不是一个好主意,您以后如何识别这些用户?您将如何让他们重设密码?