我创建了一些从泛型Zend\Validator\<validator>
扩展的验证器元素。我的目标是使它们可用,因为它是一个通用的默认别名。让我进一步解释一下。
我的目标是让表单中包含使用相同的别名表示法,例如:
$inputFilterFactory = new InputFilterFactory();
$inputFilter = $inputFilterFactory->createInputFilter([
'foo' => [
'name' => 'foo',
'required' => false,
'validators' => [
[
'name' => 'NotEmpty',
],
[
'name' => 'StringLength',
'options' => [
'min' => 3,
'max' => 5,
],
],
],
],
]);
在此,您可以看到验证程序NotEmpty
引用Zend\Validator\NotEmpty
,当我希望它引用Project\Validator\NotEmpty
并且验证程序StringLength
引用Zend\Validator\StringLength
时我希望它引用Project\Validator\StringLength
如果你看一下:https://github.com/zendframework/zend-validator/blob/master/src/ValidatorPluginManager.php你会看到这是验证者定义用于播种到服务管理器的地方。
我的主要解决方案是完全创建一个新的ValidatorPluginManager并重新连接服务管理器以使用自定义验证器插件管理器(我对此很坚定,因为我最终会有一堆扩展验证器,所以我想要完全重写验证器插件管理器
如果没有,那么id就知道下一个最佳步骤是什么,符合当前默认验证器附带的别名。
谢谢!