public function testCanCreateFormFromConcreteClassAndSpecifyCustomValidatorByName() { $validatorManager = new \Zend\Validator\ValidatorPluginManager(); $validatorManager->setInvokableClass('baz', 'ZendTest\\Validator\\TestAsset\\ConcreteValidator'); $defaultValidatorChain = new \Zend\Validator\ValidatorChain(); $defaultValidatorChain->setPluginManager($validatorManager); $inputFilterFactory = new \Zend\InputFilter\Factory(); $inputFilterFactory->setDefaultValidatorChain($defaultValidatorChain); $factory = new FormFactory(); $factory->setInputFilterFactory($inputFilterFactory); $form = $factory->createForm(array('name' => 'foo', 'factory' => $factory, 'input_filter' => array('bar' => array('name' => 'bar', 'required' => true, 'validators' => array(array('name' => 'baz')))))); $this->assertInstanceOf('Zend\\Form\\FormInterface', $form); $inputFilter = $form->getInputFilter(); $this->assertInstanceOf('Zend\\InputFilter\\InputFilterInterface', $inputFilter); $input = $inputFilter->get('bar'); $this->assertInstanceOf('Zend\\InputFilter\\Input', $input); $validatorChain = $input->getValidatorChain(); $this->assertInstanceOf('Zend\\Validator\\ValidatorChain', $validatorChain); $validatorArray = $validatorChain->getValidators(); $found = false; foreach ($validatorArray as $validator) { $validatorInstance = $validator['instance']; $this->assertInstanceOf('Zend\\Validator\\ValidatorInterface', $validatorInstance); if ($validatorInstance instanceof \ZendTest\Validator\TestAsset\ConcreteValidator) { $found = true; break; } } $this->assertTrue($found); }