Rules
Array
Validate arrays, iterables, array elements, and arrays of objects.
Use array("field") for array and Iterable values.
Teki schema = Teki.fromRules(
array("tags").required().min(1).max(10),
array("roles").elements().string().min(2).max(32)
);Available methods
| Method | Purpose |
|---|---|
required() | Reject missing arrays |
optional() | Skip validation when the value is missing |
min(int) | Require a minimum size |
max(int) | Require a maximum size |
between(int, int) | Require a size range |
length(int) | Require an exact size |
elements() | Validate each element with element rules |
objects(Builder...) | Validate each element as an object |
custom(Rule) | Attach a custom rule |
Element rules
elements() returns an element builder for validating each item:
array("scores").elements().number().min(0).max(100)
array("flags").elements().bool(true)
array("codes").elements().string().length(6)Arrays of objects
Use objects(...) when every element has fields of its own:
Teki schema = Teki.fromRules(
array("items").objects(
string("sku").required(),
number("quantity").required().min(1)
)
);