我可以将自己的Validator添加到ValidatorPluginManager吗?

时间:2012-10-19 14:06:51

标签: zend-framework2

我有自己的验证器,它使用实体管理器进行工作。

是否可以将此验证器添加到ValidatorPluginManager(并将Entity Manager设置为它),然后将其称为:

$factory = new InputFactory();
    $factory->createInput(
        array(
            'name' => 'username',
            'required' => true,
            'filters' => array(),
            'validators' => array(
                array(
                    'name' => 'MyValidator', 
                    'options' => array(//options for validator))
            ),
        )
    )
);

1 个答案:

答案 0 :(得分:2)

Zend \ InputFilter \ Factory允许您设置默认验证器链。执行此操作时,将为每个输入克隆该验证程序链。这允许您设置默认值,例如要使用的插件管理器实例。

$pluginManager = new ValidatorPluginManager();
// do some work with it
$validatorChain = new ValidatorChain();
$validatorChain->setPluginManager($pluginManager);
$factory = new InputFilterFactory();
$factory->setDefaultValidatorChain($validatorChain);