Example #1
0
 /**
  * Test message detection and param insertion.
  */
 public function testMessageDetection()
 {
     $this->object->addField('username', 'Username')->addRule('username', 'notEmpty', null)->addRule('username', 'between', '{field} may only be between {0} and {1} characters', array(10, 20))->addRule('username', 'alpha', null)->addMessages(array('notEmpty' => '{field} cannot be empty'));
     // No message for alphaNumeric
     try {
         $this->object->validate();
         $this->assertTrue(false);
     } catch (Exception $e) {
         $this->assertTrue(true);
     }
     $this->object->addMessages(array('alpha' => '{title} may only be alpha'));
     // {field} insertion
     $this->object->validate();
     $this->assertEquals(array('username' => 'username may only be between 10 and 20 characters'), $this->object->getErrors());
     // {title} insertion
     $this->object->setData(array('username' => 'foo long name bar!'));
     $this->object->validate();
     $this->assertEquals(array('username' => 'Username may only be alpha'), $this->object->getErrors());
 }