Zend 2 - Validator Manager和Annotation Builder问题

时间:2013-07-11 16:52:08

标签: php zend-framework2

我正在使用Annotations从模型中构建元素集合。 很少有字段使用Zend\Validator\Db\NoRecordExists,需要Zend\Db\Adapter\Adapter才能工作。 我这样注射它:

public function getValidatorConfig()
{
    return array(
        'initializers' => array(
            'Validator\Db' => function($inst​ance, $sm) {
                if ($instanc​​​e instanceof NoRecordExists) {
                    $instance->setAdapter($sm->getServiceLocator()->get('dbAdapter'));
                }
            }
        )
    );
}

这可以通过顶级配置(精确/config/module.config.php)来完成吗? 添加validator_managervalida​​​tor_plugin_manager密钥似乎不起作用。

另外我不知道为什么​​​Form Factory内的Annotation Builder没有使用默认的Validator Manager服务,我必须手动设置它,因为它总是实例化新的(尽管Validator Manager中始终存在Service Ma​​​nager):

$factory = new Annot​​​ationBuilder();
$factory->getFormFactory()->getInputFilterFactory()->getDefaultValidatorChain()->setPluginManager($this->getServiceLocator(​​​)->get('Validator​​​Manager'));

如果可能,我希望在配置中完成此操作。

0 个答案:

没有答案