2012-10-19 59 views
0

我有自己的驗證器,它使用實體管理器工作。我可以將自己的驗證器添加到ValidatorPluginManager嗎?

是否有可能這個驗證添加到ValidatorPluginManager(並設置實體管理器的話),然後調用它像:

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

回答

2

的Zend \輸入過濾\廠允許您設置默認驗證鏈。當你這樣做時,克隆每個輸入的驗證器鏈。這允許您設置默認值,例如要使用的插件管理器實例。

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