两个sfValidatorDoctrine在同一表单上唯一


Two sfValidatorDoctrineUnique on the same form?

我有一个symfony表单,并希望对postVlidator中的字段(Fname,Lname)进行两个唯一的验证

$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')));

当我这样做时,第二个会覆盖第一个....错误在哪里?

您必须将它们组合在同一调用中才能setPostValidator 。例如:

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

它在文档中(滚动到顶部以查看示例)。