mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-31 17:16:18 +00:00
Merge branch '2.2-validatorrules' into 2.2
This commit is contained in:
commit
2f5f1b28bc
3 changed files with 20 additions and 1 deletions
|
@ -3396,7 +3396,7 @@ class Model extends Object implements CakeEventListener {
|
|||
return $this->_validator = $instance;
|
||||
}
|
||||
|
||||
if (is_null($instance)) {
|
||||
if (empty($this->_validator) && is_null($instance)) {
|
||||
$this->_validator = new ModelValidator($this);
|
||||
}
|
||||
|
||||
|
|
|
@ -304,6 +304,7 @@ class ModelValidator implements ArrayAccess, IteratorAggregate, Countable {
|
|||
* @return CakeValidationSet|array
|
||||
*/
|
||||
public function getField($name = null) {
|
||||
$this->_parseRules();
|
||||
if ($name !== null && !empty($this->_fields[$name])) {
|
||||
return $this->_fields[$name];
|
||||
} elseif ($name !== null) {
|
||||
|
|
|
@ -2087,6 +2087,24 @@ class ModelValidationTest extends BaseModelTest {
|
|||
$this->assertSame($set, $Validator->getField('other'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that rules are parsed correctly when calling getField()
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testValidator() {
|
||||
$TestModel = new Article();
|
||||
$Validator = $TestModel->validator();
|
||||
|
||||
$result = $Validator->getField();
|
||||
$expected = array('user_id', 'title', 'body');
|
||||
$this->assertEquals($expected, array_keys($result));
|
||||
$this->assertTrue($result['user_id'] instanceof CakeValidationSet);
|
||||
|
||||
$result = $TestModel->validator()->getField('title');
|
||||
$this->assertTrue($result instanceof CakeValidationSet);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that altering data in a beforeValidate callback will lead to saving those
|
||||
* values in database, this time with belongsTo associations
|
||||
|
|
Loading…
Add table
Reference in a new issue