【发布时间】:2020-04-11 13:38:07
【问题描述】:
要在登录页面上对我进行身份验证,黄麻需要电子邮件和密码,如下所示:
(注册控制器)
protected function validator(array $data)
{
return Validator::make($data, [
// 'NOM' => ['required', 'string', 'max:50'],
// 'PRENOM' => ['required', 'string', 'max:50'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:PERSONNELS'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
为避免注册页面超载,我只要求用户填写四个字段:名字、姓氏、电子邮件和密码。
我创建了 UserEdit 视图以完成和/或更新个人资料:Rue、CP、Ville(街道、邮政编码、城市)。
在我的 UserController 上,我使用 update function。像这样:
public function update(Request $request, $id)
{
$details = \App\User::find($id);
if ($request->input('password')==$request->input('password-confirm') && $request->input('password')!='' && $request->input('password-confirm')!='') {
$details->password = $request->input('password');
$details->password = Hash::make($details['password']);
}
else{
return redirect()->action('UserController@edit', $id)->withErrors('Mot de passe diférents');
}
$membre = auth()->user();
$details->MATRICULE = $request->input('MATRICULE');
$details->NOM = $request->input('NOM');
$details->PRENOM = $request->input('PRENOM');
$details->RUE = $request->input('RUE');
$details->CP = $request->input('CP');
$details->VILLE = $request->input('VILLE');
$details->email = $request->input('email');
// $details->id_membre = $membre->id_membre;
$details->save();
return redirect()->route('user.edit', $id);
}
我不明白如何将验证器放在这个函数上,它就像一个继承类?我想我还会遇到另一个问题:如果用户决定不更改任何很有可能的信息,那么唯一属性将阻止我更新表中的数据。
由于我的循环,如果密码必须超过 8 个字符但接受 0 是否可能?
谢谢!
Ps 我没有使用 Matricule,因为它取决于管理员角色。
【问题讨论】:
-
天哪,对不起,我是哑巴,我忘了'必需'
标签: php laravel authentication