Laravel 4 - Ardent - 密码确认不匹配

Jas*_*die 3 php laravel-4 ardent

所以我正在Laravel 4中实现Ardent的实现,我似乎无法理清为什么这个密码确认不匹配.

我的用户控制器看起来像这样:

use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
use LaravelBook\Ardent\Ardent;

class User extends Ardent implements UserInterface, RemindableInterface {

public static $rules = array(
  'first_name'            => 'required|min:2|max:80|alpha',
  'last_name'             => 'required|min:2|max:80|alpha',
  'email'                 => 'required|between:3,64|email|unique:users',
  'postal_code'           => 'required|min:5|max:80',
  'password'              => 'required|between:4,20|confirmed',
  'password_confirmation' => 'same:password',
  'timezone_id'           => 'required|numeric',
);

public $autoPurgeRedundantAttributes = true;
Run Code Online (Sandbox Code Playgroud)

然后在模型存储操作中,我有以下内容:

$user = new User(Input::all());
if($user->save()) {
  // does a bunch of stuff
}
Run Code Online (Sandbox Code Playgroud)

但最后密码确认警告是持久的,我似乎无法理清为什么?如果我从密码字段中取出已确认的选项,则一切正常.我似乎无法让他们明白他们是一样的.我已经在我测试过的下面包含了一个示例var_dump,并确认它没有通过验证.

array(10) { 
  ["_token"]=> string(40) "726lKBQgckGuLBxmJZ7Kjq4kzzXqADDqv3ZSnMOE" 
  ["first_name"]=> string(3) "asd" 
  ["last_name"]=> string(3) "asd" 
  ["email"]=> string(14) "asdasd@asd.com" 
  ["postal_code"]=> string(7) "XXX XXX" 
  ["new_game_notification"]=> string(1) "1" 
  ["timezone_id"]=> string(1) "5" 
  ["password"]=> string(6) "asdasd" 
  ["password_confirmation"]=> string(6) "asdasd" 
  ["role"]=> string(7) "regular" 
}
Run Code Online (Sandbox Code Playgroud)

我在保存之前正在进行自己的密码散列,但为了解决这个问题,我暂时将其删除了.

非常感谢任何建议或指导/方向.

bru*_*cio 5

也许密码在保存之前被哈希...

检查热心的文件:

Route::post('register', function() {
        $rules = array(
            'name'                  => 'required|min:3|max:80|alpha_dash',
            'email'                 => 'required|between:3,64|email|unique:users',
            'password'              => 'required|alpha_num|between:4,8|confirmed',
            'password_confirmation' => 'required|alpha_num|between:4,8'
        );

        $validator = Validator::make(Input::all(), $rules);

        if ($validator->passes()) {
            User::create(array(
                    'name'     => Input::get('name'),
                    'email'    => Input::get('email'),
                    'password' => Hash::make(Input::get('password'))
                ));

            return Redirect::to('/')->with('message', 'Thanks for registering!');
        } else {
            return Redirect::to('/')->withErrors($validator->getMessages());
        }
    }
);
Run Code Online (Sandbox Code Playgroud)

'password'=>'required | alpha_num |之间:4,8 |确认',

'password_confirmation'=>'required | alpha_num |之间:4,8',