我正在尝试使用Password :: reset添加一些验证并且卡住了。
整个过程开箱即用,用于发送提醒和重置密码,但尝试将代码合并到文档示例上让我感到困惑。
以下是我生成的控制器的基本代码:
public function postReset()
{
$credentials = Input::only(
'email', 'password', 'password_confirmation', 'token'
);
$response = Password::reset($credentials, function($user, $password)
{
$user->password = Hash::make($password);
$user->save();
});
switch ($response)
{
case Password::INVALID_PASSWORD:
case Password::INVALID_TOKEN:
case Password::INVALID_USER:
return Redirect::back()->with('error', Lang::get($response));
case Password::PASSWORD_RESET:
return Redirect::to('/#/login');
}
}
文档建议使用此方法添加其他验证:
Password::validator(function($credentials)
{
return strlen($credentials['password']) >= 8;
});
我可以添加它,当然如果第一个密码太短,它将返回false,但我不知道从那里去哪里看源并不能启发我这个。
有没有人使用此方法添加长度和强大的pwd验证有任何建议或示例代码?搜索时看不到任何内容,而且文档似乎没有提供我在此处输入的更多信息。
文档:http://laravel.com/docs/security#password-reminders-and-reset(请务必选择docs 4.1版,因为它们与默认版4.0不同)