respect-validation/docs/rules
Henrique Moody 2aa5e39c54
Improve KeySet rule
After changes in the key-related rules, the KeySet rule became unusable.
Besides, when evaluating an input, it wasn't reporting every single
failure because it would not validate the items in the array if they had
missing or extra keys.

This commit will make several improvements to the rule. It will create
some not(keyExists($key)) rules for the extra keys, which makes the
error reporting much better. A limit of 10 additional keys will show up
when asserting an input with extra keys. I put that limit in place to
prevent the creation of too many rules.
2024-12-02 20:09:47 +01:00
..
AllOf.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
Alnum.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
Alpha.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
AlwaysInvalid.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
AlwaysValid.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
AnyOf.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
ArrayType.md Split "Key" rules 2024-03-04 00:06:18 +01:00
ArrayVal.md Split "Key" rules 2024-03-04 00:06:18 +01:00
Base.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Base64.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Between.md Create BetweenExclusive rule 2024-03-11 11:57:24 +01:00
BetweenExclusive.md Create BetweenExclusive rule 2024-03-11 11:57:24 +01:00
BoolType.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
BoolVal.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Bsn.md Fix broken documentation links 2024-02-19 11:34:26 +01:00
Call.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
CallableType.md Create "Lazy" rule 2024-03-06 22:06:44 +01:00
Callback.md Fix broken documentation links 2024-02-19 11:34:26 +01:00
Charset.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Cnh.md Create "Hetu" rule 2024-03-15 11:28:08 +01:00
Cnpj.md Create "Hetu" rule 2024-03-15 11:28:08 +01:00
Consecutive.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
Consonant.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
Contains.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
ContainsAny.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Control.md Rename rule "Cntrl" to "Control" 2019-05-11 19:35:14 +02:00
Countable.md Recreate "IterableType" rule 2024-03-02 13:20:13 +01:00
CountryCode.md Use PHP ISO Codes in the "CountryCode" rule 2024-02-22 19:12:31 +01:00
Cpf.md Create "Hetu" rule 2024-03-15 11:28:08 +01:00
CreditCard.md Fix broken documentation links 2024-02-19 11:34:26 +01:00
CurrencyCode.md Use PHP ISO Codes in the "CurrencyCode" rule 2024-02-22 19:23:01 +01:00
Date.md Deprecate age-related rules 2024-11-26 20:32:01 +01:00
DateTime.md Deprecate age-related rules 2024-11-26 20:32:01 +01:00
DateTimeDiff.md Create "DateTimeDiff" rule 2024-11-26 18:25:29 +01:00
Decimal.md Updated docs 2023-02-13 19:18:16 -03:00
Digit.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Directory.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Domain.md Fix broken documentation links 2024-02-19 11:34:26 +01:00
Each.md Split "Key" rules 2024-03-04 00:06:18 +01:00
Email.md Allow avoiding using "egulias/email-validator" 2024-01-28 01:06:40 +01:00
EndsWith.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Equals.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
Equivalent.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Even.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Executable.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Exists.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Extension.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Factor.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
FalseVal.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Fibonacci.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
File.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
FilterVar.md Improve FilterVar with FILTER_VALIDATE_* options 2023-02-19 00:19:09 -03:00
Finite.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
FloatType.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
FloatVal.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Graph.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
GreaterThan.md Refactor the Length rule 2024-03-19 15:38:29 +01:00
GreaterThanOrEqual.md Deprecate age-related rules 2024-11-26 20:32:01 +01:00
Hetu.md Create "Hetu" rule 2024-03-15 11:28:08 +01:00
HexRgbColor.md Make "HexRgbColor" rule case-insensitive 2020-10-04 12:12:10 +02:00
Iban.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Identical.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Image.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Imei.md Create "Hetu" rule 2024-03-15 11:28:08 +01:00
In.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Infinite.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
Instance.md Recreate "IterableType" rule 2024-03-02 13:20:13 +01:00
IntType.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
IntVal.md Updates for IntVal changes 2023-02-13 19:21:42 -03:00
Ip.md Fix broken documentation links 2024-02-19 11:34:26 +01:00
Isbn.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
IterableType.md Recreate "Max" rule 2024-03-03 16:39:44 +01:00
IterableVal.md Recreate "IterableType" rule 2024-03-02 13:20:13 +01:00
Json.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Key.md Remove "KeyNested" rule 2024-03-05 02:28:16 +01:00
KeyExists.md Split the "Property" rule 2024-03-05 00:48:31 +01:00
KeyOptional.md Split the "Property" rule 2024-03-05 00:48:31 +01:00
KeySet.md Improve KeySet rule 2024-12-02 20:09:47 +01:00
LanguageCode.md Use PHP ISO Codes in the "LanguageCode" rule 2024-02-22 19:27:49 +01:00
Lazy.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
LeapDate.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
LeapYear.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Length.md Refactor the Length rule 2024-03-19 15:38:29 +01:00
LessThan.md Refactor the Length rule 2024-03-19 15:38:29 +01:00
LessThanOrEqual.md Deprecate age-related rules 2024-11-26 20:32:01 +01:00
Lowercase.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Luhn.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
MacAddress.md Fix broken documentation links 2024-02-19 11:34:26 +01:00
Max.md Create "DateTimeDiff" rule 2024-11-26 18:25:29 +01:00
Mimetype.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Min.md Create "DateTimeDiff" rule 2024-11-26 18:25:29 +01:00
Multiple.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Negative.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
NfeAccessKey.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Nif.md Create "Hetu" rule 2024-03-15 11:28:08 +01:00
Nip.md Remove "IdentityCard" in favor of "PolishIdCard" 2019-05-12 00:22:45 +02:00
No.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
NoneOf.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
Not.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
NotBlank.md Rename "NotOptional" to "NotUndef" 2024-05-06 20:45:27 +02:00
NotEmoji.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
NotEmpty.md Rename "NotOptional" to "NotUndef" 2024-05-06 20:45:27 +02:00
NotUndef.md Rename "NotOptional" to "NotUndef" 2024-05-06 20:45:27 +02:00
NoWhitespace.md Rename "NotOptional" to "NotUndef" 2024-05-06 20:45:27 +02:00
Nullable.md Rename "NotOptional" to "NotUndef" 2024-05-06 20:45:27 +02:00
NullType.md Rename "NotOptional" to "NotUndef" 2024-05-06 20:45:27 +02:00
Number.md Rename "NotOptional" to "NotUndef" 2024-05-06 20:45:27 +02:00
NumericVal.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
ObjectType.md Split the "Property" rule 2024-03-05 00:48:31 +01:00
Odd.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
OneOf.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
PerfectSquare.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Pesel.md Remove "IdentityCard" in favor of "PolishIdCard" 2019-05-12 00:22:45 +02:00
Phone.md Use libphonenumber 2023-02-19 00:19:10 -03:00
PhpLabel.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Pis.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
PolishIdCard.md Remove "IdentityCard" in favor of "PolishIdCard" 2019-05-12 00:22:45 +02:00
PortugueseNif.md Create "Hetu" rule 2024-03-15 11:28:08 +01:00
Positive.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
PostalCode.md Auto update postal code list 2023-02-19 00:19:10 -03:00
PrimeNumber.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Printable.md Rename rule "Cntrl" to "Control" 2019-05-11 19:35:14 +02:00
Property.md Remove "KeyNested" rule 2024-03-05 02:28:16 +01:00
PropertyExists.md Remove "KeyNested" rule 2024-03-05 02:28:16 +01:00
PropertyOptional.md Remove "KeyNested" rule 2024-03-05 02:28:16 +01:00
PublicDomainSuffix.md Fix broken documentation links 2024-02-19 11:34:26 +01:00
Punct.md Rename rule "Cntrl" to "Control" 2019-05-11 19:35:14 +02:00
Readable.md Allow file-related rules to validate PSR-7 interfaces 2020-10-04 12:03:22 +02:00
Regex.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
ResourceType.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Roman.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
ScalarVal.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Size.md Allow file-related rules to validate PSR-7 interfaces 2020-10-04 12:03:22 +02:00
Slug.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Sorted.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Space.md Rename rule "Cntrl" to "Control" 2019-05-11 19:35:14 +02:00
StartsWith.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
StringType.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
StringVal.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
SubdivisionCode.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
Subset.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
SymbolicLink.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Time.md Create "DateTimeDiff" rule 2024-11-26 18:25:29 +01:00
Tld.md Fix broken documentation links 2024-02-19 11:34:26 +01:00
TrueVal.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Type.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
UndefOr.md Rename "NotOptional" to "NotUndef" 2024-05-06 20:45:27 +02:00
Unique.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Uploaded.md Allow file-related rules to validate PSR-7 interfaces 2020-10-04 12:03:22 +02:00
Uppercase.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Url.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Uuid.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
Version.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
VideoUrl.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00
Vowel.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
When.md Replace "LazyConsecutive" with "Consecutive" 2024-03-06 23:57:49 +01:00
Writable.md Allow file-related rules to validate PSR-7 interfaces 2020-10-04 12:03:22 +02:00
Xdigit.md Add "Decimal" link to related rules 2020-10-05 12:49:42 +02:00
Yes.md Add "Categorization" section to rule documentations 2019-05-11 19:16:21 +02:00