public function configure()
{
parent::configure();
$email = $this->getWidget('email');
$class = get_class($email);
$this->setWidget('email2',
new $class( array(), array('maxlength' =>
$ email-> getAttribute ('maxlength'))
));
$ this-> widgetSchema-> moveField ('email2',
sfWidgetFormSchema :: AFTER, 'email');
$ this-> widgetSchema-> setNameFormat ( 'sfApplyApply [% s]');
$ This-> widgetSchema-> setFormFormatterName ( 'список');
$this->setValidator('email', new sfValidatorAnd(
массив (
new sfValidatorEmail (array ('required' => true,
'trim' => true)),
new sfValidatorString (array ('required' => true,
'max_length' => 80)),
новый sfValidatorDoctrineUnique (
массив ('model' => 'sfGuardUserProfile',
'column' => 'email'),
array ('invalid' => 'Учетная запись с этим
Адрес электронной почты уже существует. Если вы забыли свой пароль,
нажмите «Отмена», затем «Сбросить мой пароль».))
)));
$this->setValidator('email2', new sfValidatorEmail(
array( 'required' => true, 'trim' => true )));
$schema = $this->validatorSchema;
// Hey Fabien, adding more postvalidators is kinda
многословный!
$ postValidator = $ schema-> getPostValidator ();
$postValidators = array(
new sfValidatorSchemaCompare( 'password',
sfValidatorSchemaCompare :: EQUAL,
'password2', array (), array ('invalid' =>
«Пароли не совпадают.»),
новый sfValidatorSchemaCompare ('электронная почта',
sfValidatorSchemaCompare :: EQUAL,
'email2', array (), array ('invalid' => 'The
адреса электронной почты не совпадают. ')));
if( $postValidator )
{
$postValidators[] = $postValidator;
}
$this->validatorSchema->setPostValidator( new
sfValidatorAnd ($ postValidators));
}
}
почему, если в базе данных есть другой пользователь с тем же адресом электронной почты, то у меня есть две ошибки - первая с этой информацией, а вторая - электронные письма не совпадают.