Php Zend Framework 2-在输入筛选器中使用自定义验证器
我想将自定义验证器与输入过滤器add方法一起使用。我使用的是zend validator包的最新版本 在我的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
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',
],
];
}
但没有区别