Php Zend Framework 2-在输入筛选器中使用自定义验证器

Php Zend Framework 2-在输入筛选器中使用自定义验证器,php,zend-framework,zend-framework2,Php,Zend Framework,Zend Framework2,我想将自定义验证器与输入过滤器add方法一起使用。我使用的是zend validator包的最新版本 在我的module.config.php中,我有以下内容: 'validators' => [ 'invokables' => [ 'DoctrineRecordExists' => 'Utils\Validator\Doctrine\RecordExists', 'NoDoctrineRecordExists' => 'Utils

我想将自定义验证器与输入过滤器add方法一起使用。我使用的是zend validator包的最新版本

在我的
module.config.php
中,我有以下内容:

'validators' => [
    'invokables' => [
        'DoctrineRecordExists' => 'Utils\Validator\Doctrine\RecordExists',
        'NoDoctrineRecordExists' => 'Utils\Validator\Doctrine\NoRecordExists',
    ],
]
我在这里使用它:

$this->add([
    'name' => 'name',
    'required' => true,
    'validators' => [
        [
            'name' => 'StringLength',
            'options' => [
                'min' => 3,
                'max' => 20,
            ],
        ],
        [
            'name' => 'NoDoctrineRecordExists',
            'options' => [
                'repository' => 'Account\Entity\OAuthUser',
                'field' => 'name',
                'entityManager' => $this->getEntityManager(),
            ],
        ],
    ],
]);
但从未调用过NoRecordExists的构造函数。我得到一个500错误,没有例外。如果我从输入过滤器中移除验证器,它将按预期工作

我也在Module.php中尝试了这一点

public function getValidatorConfig() {
    return [
        'invokables' => [
            'DoctrineRecordExists' => 'Utils\Validator\Doctrine\RecordExists',
            'NoDoctrineRecordExists' => 'Utils\Validator\Doctrine\NoRecordExists',
        ],
    ];
}
但没有区别