Merge pull request #201 from auroraeosrose/foreachbug

Check if the value in getParts is non-scalar to prevent "Invalid argument to foreach" error
This commit is contained in:
Willem Wollebrants 2017-06-23 23:38:17 +02:00 committed by GitHub
commit a6cf3a8c86
2 changed files with 12 additions and 0 deletions

View File

@ -892,6 +892,11 @@ class Validator
if (is_array($identifiers) && count($identifiers) === 0) {
return array($data, false);
}
// Catches the case where the data isn't an array or object
if (is_scalar($data)) {
return array(NULL, false);
}
$identifier = array_shift($identifiers);

View File

@ -34,6 +34,13 @@ class ValidateTest extends BaseTestCase
$v->rule('required', array('name', 'email'));
$this->assertFalse($v->validate());
}
public function testRequiredSubfieldsArrayStringValue()
{
$v = new Validator(array('name' => 'bob'));
$v->rule('required', array('name.*.red'));
$this->assertFalse($v->validate());
}
public function testRequiredValid()
{