【发布时间】:2017-01-27 21:45:38
【问题描述】:
我想用 laravel 5 创建带有 3 个字段(old_password、new_password、confirm_password)的表单。
查看
旧密码:
{!! Form::password('old_password',['class' => 'form-control']) !!}
新密码:{!! Form::password('password',['class' => 'form-control']) !!}
确认新密码:{!! Form::password('verify_password',['class' => 'form-control']) !!}
用户注册时的控制器
public function postRegister(Request $request)
{
$rules = [
'email' => 'required|email|unique:users',
'confirm_email' => 'required|same:email',
'password' => 'required|min:8|regex:/^(?=\S*[a-z])(?=\S*[!@#$&*])(?=\S*[A-Z])(?=\S*[\d])\S*$/',
'verify_password' => 'required|same:password',
];
$messages = [
'email.required' => 'email tidak boleh kosong',
'password.required' => 'password tidak boleh kosong',
'password.min' => 'Password harus minimal 8 karakter',
'password.regex' => 'Format password harus terdiri dari kombinasi huruf besar, angka dan karakter spesial (contoh:!@#$%^&*?><).',
'verify_password.required' => 'Verify Password tidak boleh kosong',
'email.email' => 'Format Email tidak valid',
'email.unique' => 'Email yang anda masukkan telah digunakan',
'verify_password.same' => 'Password tidak sama!',
];
$this->validate($request,$rules,$messages);
$newUser = $this->user->create([
'email' => $request->email,
'password' => \Hash::make($request->password),
]);
$this->activationService->sendActivationMail($newUser);
return redirect('/account/login')->with('success', 'Check your email');
}
我是 laravel 的新手,我读过一些类似的问题来在 stackoverflow 中更改密码,但这对我没有帮助。
我应该如何在我的控制器中为更改密码用户编写代码? 提前致谢。
【问题讨论】:
-
你可以使用内置的密码控制器。
-
如果你想手动,你必须研究这个
vendor\laravel\framework\src\Illuminate\Foundation\Auth\ResetsPasswords\PasswordController.php页面。
标签: php forms laravel laravel-5