예제 #1
0
 public static function injectValidatorPluginManager(Form $form, ServiceLocatorInterface $sl)
 {
     $plugins = $sl->get('ValidatorManager');
     $chain = new FilterChain();
     $chain->setPluginManager($plugins);
     $form->getFormFactory()->getInputFilterFactory()->setDefaultFilterChain($chain);
 }
예제 #2
0
 public function testFactoryInjectsComposedFilterAndValidatorChainsIntoInputObjectsWhenCreatingNewInputFilterObjects()
 {
     $factory = new Factory();
     $filterPlugins = new Filter\FilterPluginManager();
     $validatorPlugins = new Validator\ValidatorPluginManager();
     $filterChain = new Filter\FilterChain();
     $validatorChain = new Validator\ValidatorChain();
     $filterChain->setPluginManager($filterPlugins);
     $validatorChain->setPluginManager($validatorPlugins);
     $factory->setDefaultFilterChain($filterChain);
     $factory->setDefaultValidatorChain($validatorChain);
     $inputFilter = $factory->createInputFilter(array('foo' => array('name' => 'foo')));
     $this->assertInstanceOf('Zend\\InputFilter\\InputFilterInterface', $inputFilter);
     $this->assertEquals(1, count($inputFilter));
     $input = $inputFilter->get('foo');
     $this->assertInstanceOf('Zend\\InputFilter\\InputInterface', $input);
     $inputFilterChain = $input->getFilterChain();
     $inputValidatorChain = $input->getValidatorChain();
     $this->assertSame($filterPlugins, $inputFilterChain->getPluginManager());
     $this->assertSame($validatorPlugins, $inputValidatorChain->getPluginManager());
 }
예제 #3
0
 /**
  * @return FilterChain
  */
 public function getFilterChain()
 {
     if (!$this->filterChain) {
         $filter = new FilterChain();
         $inputs = $this->getServiceLocator();
         if ($inputs instanceof AbstractPluginManager) {
             $services = $inputs->getServiceLocator();
             if ($services instanceof ServiceLocatorInterface && $services->has('FilterManager')) {
                 $filter->setPluginManager($services->get('FilterManager'));
             }
         }
         $this->setFilterChain($filter);
     }
     return $this->filterChain;
 }
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $filterChain = new FilterChain();
     $filterManager = new FieldFilterManager($filterChain->setPluginManager($serviceLocator->get('FilterManager')));
     return $filterManager;
 }