0
我試圖在用戶註冊時讓電子郵件爲可選項。這裏是package。所以,我在此函數刪除email' => 'required|email|unique:users',
:在Laravel中無需電子郵件地址驗證用戶
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);
}
}
然後在配置-boilerplate.php我也刪除電子郵件:
'signup_fields_rules' => [
'name' => 'required',
'email' => 'required|email|unique:users',///// this
'password' => 'required|min:6'
],
但當我註冊了我得到這個錯誤:
「message」:「Undefined index:email」, 「status_code」:500, 「debug」:{ 「line」:173, 「file」:「/ Users/MyMac /Desktop/Project/laravel-5.3-boilerplate-api-jwt-vue2/vendor/dingo/api/src/Http/Response/Factory.php」, 「級」: 「的Symfony \元器件\ HttpKernel \異常\ HttpException」 ,
路線:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->post('auth/signup', 'App\Api\V1\Controllers\[email protected]');
請問有什麼需要禁用允許用戶登錄了或沒有電子郵件?
只是出於好奇,如何將用戶登錄時,如果他們沒有電子郵件?基本上你怎麼計劃在註冊過程之後對它們進行修改? – kyle
我已經創建一個登錄方法與@kyle – leo0019
你SignupController電話號碼不同於https://github.com/francescomalatesta/laravel-api-boilerplate-jwt/blob/master/app/Api/V1/Controllers/ SignUpController.php –