Возможно ли определить более одного пост-валидатора в Symfony?

#php #forms #validation #symfony-1.4

#php #формы #проверка #symfony-1.4

Вопрос:

Мне нужно выполнить несколько пост-валидаций в форме Symfony. Когда я впервые столкнулся с этой проблемой, я написал это:

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

поскольку я только хотел проверить определенную ситуацию.

Но по мере роста приложения мне теперь нужно выполнить дополнительные проверки. Я хотел бы, чтобы каждая проверка была изолирована в разных методах, вместо того, чтобы иметь большой checkX метод, в котором все хранится вместе.

Можно ли связать a sfPostValidator с более чем одним методом или создать несколько sfPostValidator экземпляров в validatorSchema ?

Спасибо!

Ответ №1:

Попробуйте mergePostValidator() (или аналогичный, не могу вспомнить точное имя метода)

Ответ №2:

Насколько я помню, есть валидатор с именем sfValidatorAnd(), который позволяет вам это делать.

Редактировать: вы можете это сделать :

 new sfValidatorAnd(
    array(
        new sfValidatorString(),
        new sfValidatorRegex(),
    )
);