mirror of
https://github.com/vlucas/valitron.git
synced 2025-12-30 23:01:52 +00:00
commit
d9b1548c39
13
README.md
13
README.md
@ -307,6 +307,19 @@ $v->validate();
|
|||||||
|
|
||||||
This introduces a new set of tags to your error language file which looks like `{field}`, if you are using a rule like `equals` you can access the second value in the language file by incrementing the field with a value like `{field1}`.
|
This introduces a new set of tags to your error language file which looks like `{field}`, if you are using a rule like `equals` you can access the second value in the language file by incrementing the field with a value like `{field1}`.
|
||||||
|
|
||||||
|
## Re-use of validation rules
|
||||||
|
|
||||||
|
You can re-use your validation rules to quickly validate different data with the same rules by using the withData method:
|
||||||
|
|
||||||
|
```php
|
||||||
|
$v = new Valitron\Validator(array());
|
||||||
|
$v->rule('required', 'name')->message('{field} is required');
|
||||||
|
$v->validate(); //false
|
||||||
|
|
||||||
|
$v2 = $v->withData(array('name'=>'example'));
|
||||||
|
$v2->validate(); //true
|
||||||
|
```
|
||||||
|
|
||||||
## Running Tests
|
## Running Tests
|
||||||
|
|
||||||
The test suite depends on the Composer autoloader to load and run the
|
The test suite depends on the Composer autoloader to load and run the
|
||||||
|
|||||||
@ -1204,8 +1204,8 @@ class Validator
|
|||||||
public function withData($data, $fields = array())
|
public function withData($data, $fields = array())
|
||||||
{
|
{
|
||||||
$clone = clone $this;
|
$clone = clone $this;
|
||||||
$clone->reset();
|
|
||||||
$clone->_fields = !empty($fields) ? array_intersect_key($data, array_flip($fields)) : $data;
|
$clone->_fields = !empty($fields) ? array_intersect_key($data, array_flip($fields)) : $data;
|
||||||
|
$clone->_errors = array();
|
||||||
return $clone;
|
return $clone;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1164,10 +1164,16 @@ class ValidateTest extends BaseTestCase
|
|||||||
//validation failed, so must have errors
|
//validation failed, so must have errors
|
||||||
$this->assertFalse($v->validate());
|
$this->assertFalse($v->validate());
|
||||||
$this->assertNotEmpty($v->errors());
|
$this->assertNotEmpty($v->errors());
|
||||||
//create copy with different data
|
|
||||||
|
//create copy with valid data
|
||||||
$v2 = $v->withData(array('name' => 'Chester Tester'));
|
$v2 = $v->withData(array('name' => 'Chester Tester'));
|
||||||
$this->assertTrue($v2->validate());
|
$this->assertTrue($v2->validate());
|
||||||
$this->assertEmpty($v2->errors());
|
$this->assertEmpty($v2->errors());
|
||||||
|
|
||||||
|
//create copy with invalid data
|
||||||
|
$v3 = $v->withData(array('firstname' => 'Chester'));
|
||||||
|
$this->assertFalse($v3->validate());
|
||||||
|
$this->assertNotEmpty($v3->errors());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user