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())); }
public function testGetMessagesForInvalidInputs() { $invalidCollectionData = array(array('foo' => ' bazbattoolong ', 'bar' => '12345', 'baz' => '', 'nest' => array('foo' => ' bazbat ', 'bar' => '12345', 'baz' => '')), array('foo' => ' bazbat ', 'bar' => 'notstring', 'baz' => '', 'nest' => array('foo' => ' bazbat ', 'bar' => '12345', 'baz' => ''))); $this->filter->setInputFilter($this->getBaseInputFilter()); $this->filter->setData($invalidCollectionData); $this->assertFalse($this->filter->isValid()); $this->assertCount(2, $this->filter->getInvalidInput()); foreach ($this->filter->getInvalidInput() as $invalidInputs) { $this->assertCount(1, $invalidInputs); } $messages = $this->filter->getMessages(); $this->assertCount(2, $messages); $this->assertArrayHasKey('foo', $messages[0]); $this->assertArrayHasKey('bar', $messages[1]); }
/** * Return a list of validation failure messages * * Should return an associative array of named input/message list pairs. * Pairs should only be returned for inputs that failed validation. * * @return array */ public function getMessages() { $messages = parent::getMessages(); return array_replace_recursive($messages, $this->collectionMessages); }