Что мне нужно сделать, это настроить мою пользовательскую форму по умолчанию, добавив поле «passwordagain» и установить значение в новом поле, равное полю «password».
Мой код:
class UserForm extends BaseUserForm
{
public function configure()
{
$this->widgetSchema['password'] = new sfWidgetFormInputPassword();
$this->widgetSchema['passwordagain'] = new sfWidgetFormInputPassword();
$this->validatorSchema['password'] = new sfValidatorString();
$this->validatorSchema['passwordagain'] = new sfValidatorString();
$this->getValidatorSchema()->setPostValidator(
new sfValidatorSchemaCompare(
'password',
sfValidatorSchemaCompare::EQUAL,
'passwordagain',
array(),
array('invalid' => 'Passwords don\'t match')
));
$this->setDefault('passwordagain', $this->getObject()->getPassword());
$this->useFields(array('username', 'password', 'passwordagain'));
}
}
Кажется, что метод setDefault не работает. Возможно, это работает только для новых пользователей, но это не то, что я ищу здесь.
Спасибо,
Radu.
P.S .: кстати ... я использую Symfony 1.4 с Propel