Show instance name in instanceOf error message

This commit is contained in:
Victor Bjelkholm 2014-07-29 16:39:14 +02:00
parent 6f5dad8745
commit 9d90b08813
2 changed files with 17 additions and 0 deletions

View File

@ -736,6 +736,10 @@ class Validator
}
if ($param instanceof \DateTime) {
$param = $param->format('Y-m-d');
} else {
if(is_object($param)) {
$param = get_class($param);
}
}
// Use custom label instead of field name if set
if(is_string($params[0])) {

View File

@ -829,6 +829,19 @@ class ValidateTest extends BaseTestCase
$this->assertTrue($v->validate());
}
public function testInstanceOfErrorMessageShowsInstanceName()
{
$v = new Validator(array('attributeName' => new Validator(array())));
$v->rule('instanceOf', 'attributeName', new stdClass());
$v->validate();
$expected_error = array(
"attributeName" => array(
"AttributeName must be an instance of 'stdClass'"
)
);
$this->assertEquals($expected_error, $v->errors());
}
public function testInstanceOfInvalidWithString()
{
$v = new Validator(array('attributeName' => new stdClass()));