public static function injectValidatorPluginManager(Form $form, ServiceLocatorInterface $sl) { $plugins = $sl->get('ValidatorManager'); $chain = new FilterChain(); $chain->setPluginManager($plugins); $form->getFormFactory()->getInputFilterFactory()->setDefaultFilterChain($chain); }
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()); }
/** * @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; }