在Zend 2中注册自定义验证器

时间:2015-11-13 18:56:32

标签: php zend-framework2

我创建了一个自定义日期验证器。但我一直收到错误消息

  

" Zend \ Validator \ ValidatorPluginManager :: get无法获取或   为date_validator"

创建一个实例

我做了一些研究,并尝试在视图管理器数组之后添加 module.config.php

'validators' => array(
    'invokables' => array(
        'date_validator' => 'Administrativo\InputFilter\Date_Validator'
    ),
),

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

您的配置似乎没问题。

您确定模块中的文件夹Date_Validator中有一个名为Administrativo\InputFilter的文件(可调用类)吗?

此类Administrativo\InputFilter中的命名空间是否为类Date_Validator

类名称 名称空间 必须正确以及< strong> 文件夹名称 文件名 。否则,PluginManager将无法找到您的文件。

更新

如果一切正常,那么你应该检查一下。

如果您通过配置数组构建输入过滤器,那么您应该确保the factory inside your InputFilter类拥有正确填充的InputFilterPluginManager实例(同时包含ValidatorManagerFilterManager )。否则it will not inject those classes in the setInputFilterManager method并且它later create a new empty plugin manager instance显然不会保留您的验证器类。