respect-validation/docs/rules/ArrayVal.md
Henrique Moody 41245f663f
Replace "KeyValue" with "LazyConsecutive" rule
I want to avoid having the Factory inside the rules. If a rule needs to
create another, it can simply instantiate that. The "KeyValue" rule does
too many things under the hood, and the behavior can be unpredictable.

The "LazyConsecutive" rule makes the validation more explicit and way
more flexible, as there could be other cases in which someone only wants
to validate something if the previous validator passes.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-02-22 20:45:50 +01:00

42 lines
964 B
Markdown

# ArrayVal
- `ArrayVal()`
Validates if the input is an array or if the input can be used as an array
(instance of `ArrayAccess` or `SimpleXMLElement`).
```php
v::arrayVal()->validate([]); // true
v::arrayVal()->validate(new ArrayObject); // true
v::arrayVal()->validate(new SimpleXMLElement('<xml></xml>')); // true
```
## Categorization
- Arrays
- Types
## Changelog
Version | Description
--------|-------------
2.0.0 | `SimpleXMLElement` is also considered as valid
1.0.0 | Renamed from `Arr` to `ArrayVal` and validate only if the input can be used as an array (#1)
0.3.9 | Created as `Arr`
1. Previously this rule considered `Traversable` and `Countable` as valid inputs.
***
See also:
- [ArrayType](ArrayType.md)
- [Countable](Countable.md)
- [Each](Each.md)
- [IterableType](IterableType.md)
- [Key](Key.md)
- [KeySet](KeySet.md)
- [ScalarVal](ScalarVal.md)
- [Sorted](Sorted.md)
- [Subset](Subset.md)
- [Type](Type.md)
- [Unique](Unique.md)