mirror of
https://github.com/vlucas/valitron.git
synced 2025-12-30 23:01:52 +00:00
Add tests for custom labels & fix #20
Ticket: https://github.com/vlucas/valitron/issues/20
This commit is contained in:
parent
2e6218414b
commit
f0aa5011b6
@ -612,7 +612,7 @@ class Validator
|
|||||||
$i = 1;
|
$i = 1;
|
||||||
foreach ($params as $k => $v) {
|
foreach ($params as $k => $v) {
|
||||||
$tag = '{field'. $i .'}';
|
$tag = '{field'. $i .'}';
|
||||||
$label = isset($params[$k]) && isset($this->_labels[$params[$k]]) ? $this->_labels[$params[$k]] : $tag;
|
$label = isset($params[$k]) && !is_array($params[$k]) && isset($this->_labels[$params[$k]]) ? $this->_labels[$params[$k]] : $tag;
|
||||||
$msg = str_replace($tag, $label, $msg);
|
$msg = str_replace($tag, $label, $msg);
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -511,6 +511,29 @@ class ValidateTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertEquals($v1->errors(), $v2->errors());
|
$this->assertEquals($v1->errors(), $v2->errors());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testCustomLabelInMessage()
|
||||||
|
{
|
||||||
|
$v = new Valitron\Validator(array());
|
||||||
|
$v->rule('required', 'name')->message('{field} is required')->label('NAME!!!');
|
||||||
|
$v->validate();
|
||||||
|
$this->assertEquals(array('NAME!!! is required'), $v->errors('name'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCustomLabelArrayInMessage()
|
||||||
|
{
|
||||||
|
$v = new Valitron\Validator(array());
|
||||||
|
$v->rule('required', array('name', 'email'))->message('{field} is required');
|
||||||
|
$v->labels(array(
|
||||||
|
'name' => 'Name',
|
||||||
|
'email' => 'Email address'
|
||||||
|
));
|
||||||
|
$v->validate();
|
||||||
|
$this->assertEquals(array(
|
||||||
|
'name' => array('Name is required'),
|
||||||
|
'email' => array('Email address is required')
|
||||||
|
), $v->errors());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom rules and callbacks
|
* Custom rules and callbacks
|
||||||
*/
|
*/
|
||||||
@ -580,6 +603,15 @@ class ValidateTest extends \PHPUnit_Framework_TestCase
|
|||||||
$v->rule('testRule', 'name', array('foo', 'bar'))->message('Invalid name selected.');
|
$v->rule('testRule', 'name', array('foo', 'bar'))->message('Invalid name selected.');
|
||||||
$this->assertFalse($v->validate());
|
$this->assertFalse($v->validate());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testAddRuleCallbackArrayWithArrayAsExtraParameterAndCustomMessageLabel()
|
||||||
|
{
|
||||||
|
$v = new Validator(array('name' => 'Chester Tester'));
|
||||||
|
$v->labels(array('name' => 'Name'));
|
||||||
|
$v->addRule('testRule', array($this, 'sampleObjectCallbackFalse'));
|
||||||
|
$v->rule('testRule', 'name', array('foo', 'bar'))->message('Invalid name selected.');
|
||||||
|
$this->assertFalse($v->validate());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function sampleFunctionCallback($field, $value, array $params) {
|
function sampleFunctionCallback($field, $value, array $params) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user