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);
 }