如何使用 Laravel 5.1 验证密码

How to validate passwords with Laravel 5.1

我想验证密码以使其满足以下条件:

目前我有:

$validator = \Validator::make($request, [
    'password' => 'min:8|confirmed'
],[
    'password.confirmed' => 'Both `password` and `password_confirmation` are required',
    'password.min' => 'The password must contain at least 8 characters'
]);

这将处理最小长度和确认,但我可以找到进行其他检查的好方法。任何帮助将不胜感激。

我认为您可以使用正则表达式来解决这个问题: http://laravel.com/docs/5.1/validation#rule-regex

你可以这样使用:

['password' => ['regex:^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=!?]).*$']]

希望对您有所帮助!

试一试它有效:)

   $rules = array(
        'username' => 'required',
        'email' => 'required | between:5,100 | email ',
        'password' => 'required | confirmed |regex:/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()+]+.*)[0-9a-zA-Z\w!@#$%^&*()+]{8,}$/'
    );

    $input = Input::all();

    $validation = Validator::make($input, $rules);

    if ($validation->fails()){
        //if validation fails redirect with inputs
        return redirect()->route('/')->withInput()
            ->withErrors($validation);
    }