Question

Qu'est-ce que je dois faire est de personnaliser mon formUtilisateur par défaut en ajoutant un champ « passwordagain » et définissez la valeur sur le nouveau champ égal au champ « mot de passe ». Mon code:

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'));

} }

La méthode setDefault ne semble pas là pour travailler. Peut-être il ne fonctionne que pour les nouveaux utilisateurs, mais ce n'est pas ce que je cherche ici.

Merci, Radu.

P.S .: BTW ... i utilise 1,4 à symfony propel

Était-ce utile?

La solution

La raison pour laquelle votre défaut ne fonctionne pas parce que vous utilisez le widget sfWidgetFormInputPassword.

Les meilleures pratiques est de ne jamais pré-remplir un champ de mot de passe, ce qui est ce que le widget sfWidgetFormInputPassword fait pour vous.

Si vous voulez aller à l'encontre des meilleures pratiques, procédez comme suit,

$this->widgetSchema['passwordagain']->setOption('always_render_empty', false);

Cependant, je recommande sérieusement vous ne le faites pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top