更新Validator插件管理器以进行自定义实施

时间:2018-06-01 01:16:49

标签: validation zend-framework

我创建了一些从泛型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就知道下一个最佳步骤是什么,符合当前默认验证器附带的别名。

谢谢!

0 个答案:

没有答案