Symfony: прекращение проверки почты в случае сбоя обычной проверки - PullRequest
0 голосов
/ 26 июня 2011

Есть ли способ предотвратить переход формы к пост-проверке, если в «нормальной» проверке произошла ошибка?

Ответы [ 2 ]

1 голос
/ 03 декабря 2011

Вам нужно использовать обратный вызов для проверки формы ... Например:

public function configure()
{
  $this->widgetSchema['email'] = new sfWidgetFormInput();
  $this->validatorSchema['email'] = new sfValidatorEmail(array('required' => true));

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

public function postValidate($validator, $values)       
{
  // only run the post validator if the email has passed validation
  // if it hasn't passed validation, it will be blank and we can skip this
  if ($values['email'])
  {
    $v = new myPostValidator();
    $v->clean($values);
  }

  return $values;
}
0 голосов
/ 26 июня 2011

Это зависит от того, что вы подразумеваете под «нормальным» и пост-валидацией:

В классах действий вы можете использовать условие:

if ($form->isValid()) { // code here before and after the save(); }

Или вы используете postExecute вдействие

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