Exemplo n.º 1
0
 /**
  * Return the validator instance.
  *
  * @return \Titon\Utility\Validator
  */
 public function getValidator()
 {
     if (!$this->_validator) {
         $this->setValidator(Validator::makeFromShorthand([], $this->validate));
     }
     return $this->_validator;
 }
Exemplo n.º 2
0
 /**
  * Test that shorthand validation rules get parsed correctly.
  */
 public function testMakeFromShorthand()
 {
     // simple rule
     $obj = Validator::makeFromShorthand(array(), array('field' => 'alphaNumeric'));
     $this->assertEquals(array('field' => array('alphaNumeric' => array('message' => '', 'options' => array()))), $obj->getRules());
     // simple 2 rules
     $obj = Validator::makeFromShorthand(array(), array('field' => 'alphaNumeric|boolean'));
     $this->assertEquals(array('field' => array('alphaNumeric' => array('message' => '', 'options' => array()), 'boolean' => array('message' => '', 'options' => array()))), $obj->getRules());
     // simple 2 rules with options
     $obj = Validator::makeFromShorthand(array(), array('field' => 'between:5,10|equal:7'));
     $this->assertEquals(array('field' => array('between' => array('message' => '', 'options' => array(5, 10)), 'equal' => array('message' => '', 'options' => array(7)))), $obj->getRules());
     // split 2 rules
     $obj = Validator::makeFromShorthand(array(), array('field' => array('between:5,10', 'equal:7')));
     $this->assertEquals(array('field' => array('between' => array('message' => '', 'options' => array(5, 10)), 'equal' => array('message' => '', 'options' => array(7)))), $obj->getRules());
     // nested 2 rules
     $obj = Validator::makeFromShorthand(array(), array('field' => array('title' => 'Field', 'rules' => 'between:5,10|equal:7')));
     $this->assertEquals(array('field' => array('between' => array('message' => '', 'options' => array(5, 10)), 'equal' => array('message' => '', 'options' => array(7)))), $obj->getRules());
     // nested split 2 rules
     $obj = Validator::makeFromShorthand(array(), array('field' => array('title' => 'Field', 'rules' => array('between:5,10', 'equal:7'))));
     $this->assertEquals(array('field' => array('between' => array('message' => '', 'options' => array(5, 10)), 'equal' => array('message' => '', 'options' => array(7)))), $obj->getRules());
     // advanced multiple rules
     $obj = Validator::makeFromShorthand(array(), array('field' => array('rules' => array('phone::Invalid phone number', 'email::Please provide an email', 'ext:txt:Valid extensions are txt, pdf', 'ip:' . Validate::IPV4 . ':Please provide an IPv4'))));
     $this->assertEquals(array('field' => array('phone' => array('message' => 'Invalid phone number', 'options' => array()), 'email' => array('message' => 'Please provide an email', 'options' => array()), 'ext' => array('message' => 'Valid extensions are txt, pdf', 'options' => array('txt')), 'ip' => array('message' => 'Please provide an IPv4', 'options' => array(Validate::IPV4)))), $obj->getRules());
 }