public function testCustomLabels() { $messages = array('name' => array('Name is required'), 'email' => array('Email should be a valid email address')); $v = new Validator(array('name' => '', 'email' => '$')); $v->rule('required', 'name')->message('{field} is required'); $v->rule('email', 'email')->message('{field} should be a valid email address'); $v->labels(array('name' => 'Name', 'email' => 'Email')); $v->validate(); $errors = $v->errors(); $this->assertEquals($messages, $errors); }
/** * Fix bug where rules messages added with Validator::addRule were replaced after creating validator instance */ public function testRuleMessagesReplacedAfterConstructor() { $customMessage = 'custom message'; $ruleName = 'customRule'; $fieldName = 'fieldName'; Validator::addRule($ruleName, function () { }, $customMessage); $v = new Validator(array($fieldName => $fieldName)); $v->rule($ruleName, $fieldName); $v->validate(); $messages = $v->errors(); $this->assertArrayHasKey($fieldName, $messages); $this->assertEquals(ucfirst("{$fieldName} {$customMessage}"), $messages[$fieldName][0]); }
public function testInstanceOfInvalidWithString() { $v = new Validator(array('attributeName' => new stdClass())); $v->rule('instanceOf', 'attributeName', 'SomeOtherClass'); $this->assertFalse($v->validate()); }