1# KeySet 2 3- `v::keySet(Key $rule...)` 4 5Validates a keys in a defined structure. 6 7```php 8$dict = ['foo' => 42]; 9 10v::keySet( 11 v::key('foo', v::intVal()) 12)->validate($dict); // true 13``` 14 15Extra keys are not allowed: 16```php 17$dict = ['foo' => 42, 'bar' => 'String']; 18 19v::keySet( 20 v::key('foo', v::intVal()) 21)->validate($dict); // false 22``` 23 24Missing required keys are not allowed: 25```php 26$dict = ['foo' => 42, 'bar' => 'String']; 27 28v::keySet( 29 v::key('foo', v::intVal()), 30 v::key('bar', v::stringType()), 31 v::key('baz', v::boolType()) 32)->validate($dict); // false 33``` 34 35Missing non-required keys are allowed: 36```php 37$dict = ['foo' => 42, 'bar' => 'String']; 38 39v::keySet( 40 v::key('foo', v::intVal()), 41 v::key('bar', v::stringType()), 42 v::key('baz', v::boolType(), false) 43)->validate($dict); // true 44``` 45 46The keys' order is not considered in the validation. 47 48*** 49See also: 50 51 * [Key](Key.md) 52