mirror of
https://github.com/Respect/Validation.git
synced 2026-03-14 22:35:45 +01:00
Version 3.0 will include a few crucial deprecations. This commit adds some soft deprecations to warn users about these changes. Some of the biggest changes are: * The method `validate()` will be renamed to `isValid()`. * The method `validate()` will be repurposed to return an object with failures. * It won't be possible to handle rules directly; users will need to use the `Validator` class to validate with any rule. There will some more changes, but those are some of the most important ones, and are the ones that are easy to deprecate right now.
1.2 KiB
1.2 KiB
KeySet
KeySet(Key ...$rule)
Validates a keys in a defined structure.
$dict = ['foo' => 42];
v::keySet(
v::key('foo', v::intVal())
)->isValid($dict); // true
Extra keys are not allowed:
$dict = ['foo' => 42, 'bar' => 'String'];
v::keySet(
v::key('foo', v::intVal())
)->isValid($dict); // false
Missing required keys are not allowed:
$dict = ['foo' => 42, 'bar' => 'String'];
v::keySet(
v::key('foo', v::intVal()),
v::key('bar', v::stringType()),
v::key('baz', v::boolType())
)->isValid($dict); // false
Missing non-required keys are allowed:
$dict = ['foo' => 42, 'bar' => 'String'];
v::keySet(
v::key('foo', v::intVal()),
v::key('bar', v::stringType()),
v::key('baz', v::boolType(), false)
)->isValid($dict); // true
It is not possible to negate keySet() rules with not().
The keys' order is not considered in the validation.
Categorization
- Arrays
- Nesting
- Structures
Changelog
| Version | Description |
|---|---|
| 2.3.0 | KeySet is NonNegatable, fixed message with extra keys |
| 1.0.0 | Created |
See also: