2011-08-31 77 views
0

我想根據Symfony/Doctrine驗證器進行登錄面板。用於比較密碼的sfValidator sha1

我發現有些事情:

new sfValidatorSchemaCompare('password', sfValidatorSchemaCompare::EQUAL, 'password_again') 

這是UserForm.class.php

這裏password_again是輸入password_again值。我怎樣才能從數據庫中獲得這個值?我有數據庫密碼哈希與SHA1。

+1

什麼是你想做的結束?根據數據庫檢查密碼,或要求用戶在選擇密碼時第二次重複密碼? – Gerry

回答

0

看來,你試圖做一個登錄表單對 ?你在這個表單中有兩個密碼字段(如'password'和'password_again')嗎?

如果不是,則不應使用sfValidatorSchemaCompare。

0

創建兩個字段的密碼和確認密碼

,並把這個在驗證

$this->validatorSchema['confirm_password'] = clone 
    $this->validatorSchema['password']; 
    $this->widgetSchema->moveField('confirm_password', 'after', 'password'); 
    $this->mergePostValidator(
     new sfValidatorSchemaCompare(
      'password', sfValidatorSchemaCompare::EQUAL, 'confirm_password', 
      array(), array('invalid' => 'Password does not match! Please retype')));