Простые почтовые валидаторы не хотят работать - PullRequest
0 голосов
/ 12 января 2012

Я создал форму для регистрации клиента, и я не могу заставить работать этот поствалидатор.

//POST-VALIDATORS
    $this->validatorSchema->setPostValidator(
            new sfValidatorSchemaCompare(
                        'email', sfValidatorSchemaCompare::EQUAL, 'reemail',
                         array(),
                         array('invalid' => "Les adresses mails sont différentes !")
    ));

    $this->validatorSchema->setPostValidator(
            new sfValidatorSchemaCompare(
                        'password', sfValidatorSchemaCompare::EQUAL, 'repassword',
                        array(),
                        array('invalid' => "Les mots de passe sont différents !")
    ));

    $this->validatorSchema->setPostValidator(new sfValidatorCallback(
            array('callback' => array($this,'checkEmailAvailability'))
    ));

Странная вещь: работает только sfValidatorCallback, использующий мою функцию custum.Когда я отправляю свою форму с двумя разными значениями, например, в полях пароля и repassword, форма отправляется правильно, и ошибки не возникает.

Кто-то получил идею?

Заранее спасибо за помощь.

1 Ответ

1 голос
/ 12 января 2012

Я точно знаю вашу проблему, каждый раз, когда вы используете setPostValidator, вы переопределяете другие (то есть, всегда работал последний), я бы посоветовал использовать mergePostValidators, код должен выглядеть так:1003 * Функция mergePostValidator объединяет каждый валидатор записей с логическим операндом «И».Таким образом, ваш пост валидатор вернет истину, если все они верны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...