добавить ошибку для sfValidatorOr в Symfony - PullRequest
0 голосов
/ 13 июля 2011

у меня есть:

$this->validatorSchema->setPostValidator(new sfValidatorOr(
  array(
    new sfValidatorSchemaCompare('email', '!=', ''),
    new sfValidatorSchemaCompare('phone', '!=', ''),
  ),
  array(),
  array('invalid' => 'Campo obligatorio')
));

Ошибка в $ form-> getGlobalErrors (). Как я могу добавить

массив ('throw_global_error' => true),

так же, как здесь:

$this->validatorSchema->setPostValidator(
  new sfValidatorOr(
    array(
      new sfValidatorAnd( 
        array(
          new sfValidatorSchemaCompare('date_from', sfValidatorSchemaCompare::EQUAL, 'date_to',
            array('throw_global_error' => true),
            array('invalid' => 'The start date ("%left_field%") must be equal the end date ("%right_field%")')),
          new sfValidatorSchemaCompare('time_from', sfValidatorSchemaCompare::LESS_THAN, 'time_to',
            array('throw_global_error' => true),
            array('invalid' => 'The start time ("%left_field%") must be before the end time ("%right_field%")')),
       )),
          new sfValidatorSchemaCompare('date_from', sfValidatorSchemaCompare::LESS_THAN, 'date_to',
            array('throw_global_error' => true),
            array('invalid' => 'The start date ("%left_field%") must be before the end date ("%right_field%")')),
    )
  ));

Я сделаю это:

<?php $form['email']->renderLabel() ?>
**<?php echo $form['email']->getError() ?>** 

но в sfValidatorOr это не работает

1 Ответ

0 голосов
/ 13 июля 2011

Вы можете поместить параметр throw_global_error непосредственно в sfValidatorSchemaCompare ().

Нет способа не помещать его в sfValidatorOr, поскольку это не объект sfValidatorSchema.

...