mirror of
https://github.com/Respect/Validation.git
synced 2024-06-08 00:32:16 +02:00
52614d600d
The current documentation is hosted via GitHub pages rendered by "Couscous". Every time we need a new version of the documentation published we need to manually execute the "couscous". This commit reorganize the documentation to be published to "Read the Docs" because it will also allow us to have documentations per version of the library most importantly provider a search field for the documentation. The documentation will be then published on: https://respect-validation.readthedocs.io/ Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
904 B
904 B
KeySet
v::keySet(Key $rule...)
Validates a keys in a defined structure.
$dict = ['foo' => 42];
v::keySet(
v::key('foo', v::intVal())
)->validate($dict); // true
Extra keys are not allowed:
$dict = ['foo' => 42, 'bar' => 'String'];
v::keySet(
v::key('foo', v::intVal())
)->validate($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())
)->validate($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)
)->validate($dict); // true
The keys' order is not considered in the validation.
See also: