input_validate 1.0.1
input_validate: ^1.0.1 copied to clipboard
A pure Dart package for validating nested map data structures with wildcard support.
1.0.1 #
Added #
- Concise rule syntax for cleaner validation code
- New shorthand functions:
required(),string(),number(),boolean(),list(),map(),email(),nullable(),min(),max(),inSet() - Function-style rule creators that provide more readable validation definitions
- Backward compatibility aliases:
isString(),isNumber(),isBoolean(),isList(),isMap(),allowedValues()
Changed #
- Enhanced developer experience with more concise syntax
- Updated example files to demonstrate both concise and verbose syntax
Example #
// New concise syntax (recommended)
'name': [required(), string(), min(2), max(80)]
// Old verbose syntax (still supported)
'name': [RequiredRule(), IsStringRule(), MinRule(2), MaxRule(80)]
Note: Full backward compatibility maintained - all existing code continues to work unchanged.
1.0.0 #
🎉 Initial release of Input Validate - A powerful validation package for nested map data structures.
Features #
- Laravel-style validation rules with familiar syntax and comprehensive rule set
- Wildcard path support for validating arrays and nested structures (
users.*.email) - Performance optimizations including parallel validation and field path caching
- Comprehensive validation rules:
- Type rules:
RequiredRule,IsStringRule,IsNumberRule,IsBooleanRule,IsListRule,IsMapRule - Constraint rules:
MinRule,MaxRule,InRule - Format rules:
EmailRule - Special rules:
NullableRule
- Type rules:
- Async rule support with
FutureOr<bool>for both sync and async validation - Smart data filtering - returns only validated fields, stripping unvalidated data
- Detailed error reporting with field-specific error messages and path information
- Debug logging capabilities for development and troubleshooting
- Cache management with field path caching and manual cache clearing