public function testEmptyCollectionIsNotValidIfRequired() { $data = array(); $this->filter->setInputFilter($this->getBaseInputFilter()); $this->filter->setData($data); $this->filter->setIsRequired(true); $this->assertFalse($this->filter->isValid()); }
public function testNonRequiredFieldsAreValidated() { $invalidCollectionData = array(array('foo' => ' bazbattoolong ', 'bar' => '12345', 'baz' => 'baztoolong', 'nest' => array('foo' => ' bazbat ', 'bar' => '12345', 'baz' => ''))); $this->filter->setInputFilter($this->getBaseInputFilter()); $this->filter->setData($invalidCollectionData); $this->assertFalse($this->filter->isValid()); $this->assertCount(2, current($this->filter->getInvalidInput())); $this->assertArrayHasKey('baz', current($this->filter->getMessages())); }
/** * Set data to use when validating and filtering * * @param array|Traversable $data * @throws Exception\InvalidArgumentException * @return InputFilterInterface */ public function setData($data) { if (!is_array($data) && !$data instanceof Traversable) { throw new InvalidArgumentException(sprintf('%s expects an array or Traversable argument; received %s', __METHOD__, is_object($data) ? get_class($data) : gettype($data))); } if (is_object($data) && !$data instanceof ArrayAccess) { $data = ArrayUtils::iteratorToArray($data); } $this->collectionData = $data; return parent::setData($data); }