diff --git a/src/Valitron/Validator.php b/src/Valitron/Validator.php index f6bd446..e08be03 100644 --- a/src/Valitron/Validator.php +++ b/src/Valitron/Validator.php @@ -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); diff --git a/tests/Valitron/ValidateTest.php b/tests/Valitron/ValidateTest.php index 0bd0754..dbb048b 100644 --- a/tests/Valitron/ValidateTest.php +++ b/tests/Valitron/ValidateTest.php @@ -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() {