41 lines
863 B
Markdown
41 lines
863 B
Markdown
|
# KeyNested
|
||
|
|
||
|
- `v::keyNested(string $name)`
|
||
|
- `v::keyNested(string $name, v $validator)`
|
||
|
- `v::keyNested(string $name, v $validator, boolean $mandatory = true)`
|
||
|
|
||
|
Validates an array key or an object property using `.` to represent nested data.
|
||
|
|
||
|
Validating keys from arrays or `ArrayAccess` instances:
|
||
|
|
||
|
```php
|
||
|
$array = [
|
||
|
'foo' => [
|
||
|
'bar' => 123,
|
||
|
],
|
||
|
];
|
||
|
|
||
|
v::keyNested('foo.bar')->validate($array); // true
|
||
|
```
|
||
|
|
||
|
Validating object properties:
|
||
|
|
||
|
```php
|
||
|
$object = new stdClass();
|
||
|
$object->foo = new stdClass();
|
||
|
$object->foo->bar = 42;
|
||
|
|
||
|
v::keyNested('foo.bar')->validate($object); // true
|
||
|
```
|
||
|
|
||
|
This rule was inspired by [Yii2 ArrayHelper][].
|
||
|
|
||
|
***
|
||
|
See also:
|
||
|
|
||
|
* [Attribute](Attribute.md)
|
||
|
* [Key](Key.md)
|
||
|
* [KeyValue](KeyValue.md)
|
||
|
|
||
|
[Yii2 ArrayHelper]: https://github.com/yiisoft/yii2/blob/68c30c1/framework/helpers/BaseArrayHelper.php "Yii2 ArrayHelper"
|