0

symfonyフォームが1つあり、postVlidatorのフィールド(Fname、Lname)に対して2つの一意の検証を実行したい

$this->validatorSchema->setPostValidator(new sfValidatorDoctrineUnique
                                                     (
                                                        array( 'model' => 'Test',
                                                               'column' => array('fName'),
                                                      , array('invalid' => 'Invalid fName')));

$this->validatorSchema->setPostValidator(new sfValidatorDoctrineUnique
                                                     (
                                                        array( 'model' => 'Test',
                                                               'column' => array('Lname'),
                                                      , array('invalid' => 'Invalid Lname')));

私がそれをするとき、2番目のものは最初のものを上書きします....エラーはどこにありますか?

4

1 に答える 1

1

への同じ呼び出しでそれらを結合する必要がありますsetPostValidator。例えば:

$this->validatorSchema->setPostValidator(new sfValidatorAnd(array(
  new sfValidatorSchemaCompare('start_date', sfValidatorSchemaCompare::LESS_THAN_EQUAL, 'end_date'),
  new sfValidatorSchemaCompare('password', sfValidatorSchemaCompare::EQUAL, 'password_again'),
)));

これはドキュメントにあります (例を表示するには、少し上までスクロールします)。

于 2012-06-21T14:20:06.333 に答える