/** * Set the target element * * @param ElementInterface|array|\Traversable $elementOrFieldset * @return Collection * @throws \Zend\Form\Exception\InvalidArgumentException */ public function setTargetElement($elementOrFieldset) { parent::setTargetElement($elementOrFieldset); if ($this->targetElement instanceof FieldsetInterface) { $this->targetElement->setHydrator(new Traversable()); } return $this; }
public function testDonNotApplyEmptyInputFiltersToSubFieldsetOfCollectionElementsWithCollectionInputFilters() { $collectionFieldset = new Fieldset('item'); $collectionFieldset->add(new Element('foo')); $collection = new Element\Collection('items'); $collection->setCount(3); $collection->setTargetElement($collectionFieldset); $this->form->add($collection); $inputFilterFactory = new InputFilterFactory(); $inputFilter = $inputFilterFactory->createInputFilter(array('items' => array('type' => 'Zend\\InputFilter\\CollectionInputFilter', 'input_filter' => new InputFilter()))); $this->form->setInputFilter($inputFilter); $this->assertInstanceOf('Zend\\InputFilter\\CollectionInputFilter', $this->form->getInputFilter()->get('items')); $this->assertCount(1, $this->form->getInputFilter()->get('items')->getInputs()); }