Php 在Laravel中验证没有电子邮件的用户
我试图在用户注册时选择电子邮件。这是。因此,我删除了Php 在Laravel中验证没有电子邮件的用户,php,laravel,authentication,jwt,dingo-api,Php,Laravel,Authentication,Jwt,Dingo Api,我试图在用户注册时选择电子邮件。这是。因此,我删除了email'=>“required”| email | unique:users',在这个函数中: public function signup(Request $request) { $credentials = $request->all(); $validator = Validator::make($credentials, [ 'name' => 'required', 'e
email'=>“required”| email | unique:users',
在这个函数中:
public function signup(Request $request)
{
$credentials = $request->all();
$validator = Validator::make($credentials, [
'name' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required|min:3'
]);
if ($validator->fails()) {
throw new ValidationHttpException($validator->errors()->all());
}
try {
$user = $this->users->create($request->except('roles', 'permissions'));
if (!$user->id) {
return $this->response->error('could_not_create_user', 500);
}
$hasToReleaseToken = Config::get('boilerplate.signup_token_release');
if ($hasToReleaseToken) {
return $this->login($request);
}
return $this->response->created();
} catch (\Exception $e) {
return $this->response->error($e->getMessage(), 500);
}
}
然后在config-boilerplate.php中,我还删除了电子邮件:
'signup_fields_rules' => [
'name' => 'required',
'email' => 'required|email|unique:users',///// this
'password' => 'required|min:6'
],
但当我注册时,我会出现以下错误:
“邮件”:“未定义索引:电子邮件”,
“状态代码”:500,
“调试”:{
“行”:173,
“文件”:“/Users/MyMac/Desktop/Project/laravel-5.3-boilerplate-api-jwt-vue2/vendor/dingo/api/src/Http/Response/Factory.php”,
“类”:“Symfony\Component\HttpKernel\Exception\HttpException”
路线:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->post('auth/signup', 'App\Api\V1\Controllers\AuthController@signup');
允许用户使用或不使用电子邮件注册,我是否需要禁用任何内容?如果您想将电子邮件设置为可选字段,只需偶尔使用
|电子邮件
即可。请尝试以下代码:
public function signup(Request $request)
{
$credentials = $request->all();
$validator = Validator::make($credentials, [
'name' => 'required',
'email' => 'sometimes|email',
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required|min:3'
]);
if ($validator->fails()) {
throw new ValidationHttpException($validator->errors()->all());
}
try {
$user = $this->users->create($request->except('roles', 'permissions'));
if (!$user->id) {
return $this->response->error('could_not_create_user', 500);
}
$hasToReleaseToken = Config::get('boilerplate.signup_token_release');
if ($hasToReleaseToken) {
return $this->login($request);
}
return $this->response->created();
} catch (\Exception $e) {
return $this->response->error($e->getMessage(), 500);
}
}
config-boilerplate.php
'signup_fields_rules' => [
'name' => 'required',
'email' => 'sometimes|email',///// this
'password' => 'required|min:6'
],
只是出于好奇,如果用户没有电子邮件,他们将如何登录?基本上,在注册过程之后,你打算如何对他们进行身份验证?我已经创建了一个电话号码为@Kyley的登录方法。你的SignupController与opps不同,实际上是这个