zend形式有2个(两个)Zend_Validate_Db_RecordExists,只有一个有效

时间:2011-03-23 17:16:35

标签: zend-framework

您好我有一个Zend表格,其中包含2个(两个)Zend_Validate_Db_RecordExists,以此类推:

    $ditta_esiste = new Zend_Validate_Db_RecordExists(
            array(
                'table' => 'ditta',
                'field' => 'id'
            )
    );

    $this->getElement('ditta')->setAttrib('id', 'nome_ditta')->setRequired(true);
    $this->getElement('ditta_id')->addValidator(new Zend_Validate_NotEmpty(), false)->addValidator($ditta_esiste, false);


    $marca_esiste = new Zend_Validate_Db_RecordExists(// ZEND IMBECILLE NON FUNZIONA QUESTO CONTROLLO
        'marca', 'id'
    );

    $this->getElement('marca_id')->addValidator($marca_esiste, false);

第二个验证器永远不会触发,我可以把垃圾放在它的构造函数中并且它不关心

1 个答案:

答案 0 :(得分:2)

Zend框架不允许在同一个元素上使用同一个类的两个验证器... See This Bug Report (Read Comments Too)

解决方法是创建自己的验证程序类,扩展Zend_Validate_Db_RecordExists,然后将其用作第二个验证程序。