- 🚩 Validation
- 🟡🧠 Passing a constant as validate options does not work. How to fix this and make it more flexible?
- 🟢 Object property validation
- 🟡🧠 schema-block is problematic for e.g. JSON annotations. Is it needed?
- 🟡🧠 Change Hash to NamedTuple?
- 🟢🧠 How to validate: Array(String) with format?
- 🟢 Macro
validate_array
- 🟢 Macro
- 🟡 Predefined validations
- 🟡🧠 How to unify
range/min/max/gt/gte/lt/lte/eq
- 🟡
size
(range, array, gt/gte/lt/lte, proc) - 🟡🧠
range:/blacklist:/whitelist:
vsin:/not_in:
- 🟡
range
(range, array, proc) - 🟡
min/max
,gt/gte/lt/lte
- 🟡
blacklist
(range, array, proc) - 🟡
format
(regex, proc, predefined (email, ip, ...)) - 🟡
empty/non_empty
(string, enumerable) - 🟡 Conditionals
if/unless
- 🟡 Groups
- 🟡🧠 How to unify
- 🟡 Nested objects validation
- 🟡🧠 Default validator? Specify validator for each property? Array(T)?
- 🟢 Default validator
- 🟢 simple associated object validation:
getter item : Item
- 🟡 enumerables:
getter items : Array(Item)
- 🟡 Cross-property validations
- 🟡 Custom proc/block validation
- 🟡 Error attributes
- 🟡 Ignore fields
- 🟡 Detect cyclic references