Php 在Zend 2中注册自定义验证器
我创建了一个自定义日期验证程序。但我一直收到这条错误消息: “Zend\Validator\ValidatorPluginManager::get无法获取或 为“日期验证程序”创建一个实例 我做了一些研究,并尝试在视图管理器数组之后添加module.config.phpPhp 在Zend 2中注册自定义验证器,php,zend-framework2,Php,Zend Framework2,我创建了一个自定义日期验证程序。但我一直收到这条错误消息: “Zend\Validator\ValidatorPluginManager::get无法获取或 为“日期验证程序”创建一个实例 我做了一些研究,并尝试在视图管理器数组之后添加module.config.php 'validators' => array( 'invokables' => array( 'date_validator' => 'Administrativo\InputFilter
'validators' => array(
'invokables' => array(
'date_validator' => 'Administrativo\InputFilter\Date_Validator'
),
),
我这里缺少什么?您的配置似乎还可以 您确定模块中的文件夹
Administrativo\InputFilter
中有一个名为Date\u Validator
的文件(可调用类)
是该类中的名称空间Administrativo\InputFilter
,是类名Date\u Validator
重要的是类名和命名空间以及文件夹名和文件名必须正确。否则,PluginManager将无法找到您的文件
更新 如果所有这些都是好的,那么还有一些你应该检查
如果您通过配置数组构建输入过滤器,那么您应该确保该类包含正确填充的
InputFilterPluginManager
实例(带ValidatorManager
和FilterManager
)。否则,它将不会保存您的验证程序类。您确定类名中没有输入错误吗?(特别是下划线)您使用的编辑器是什么?如果您有PHP5.5+,那么应该始终使用::class作为类名。是的,我已经仔细检查过这种打字错误了。我正在我的过滤器文件中导入类(使用Administrivo\InputFilter\Date\u Validator作为Date\u Validator;),然后在我的文件中我有这段代码。嗨,wilt,不,没有成功。我必须输入module.config.php:'invokables'=>数组(Administrivo\InputFilter\Date\U Validator'=>'Administrivo\InputFilter\Date\U Validator'),然后工作。谢谢你的时间!