checkit library
checkit — Powerful and extensible validation framework for Dart.
This library provides the high-level API for building and running validations using strongly-typed nodes, reusable validators, and human-friendly syntax.
Typical usage:
final result = Checkit.string.min(3).email().validateOnce("example@example.com");
result.prettyPrint();
Exported content includes:
- Entry point (
Checkit) - Typed validation nodes (e.g.,
StringNode,NumNode) - Common validators and their DSL
Classes
- Checkit
- Main entry point to build validators.
- DateTimeValidator
- DoubleValidator
- GeneralValidator
- IntValidator
-
IpNode<
T extends String> - Validates that a string represents a valid IP address.
- IpValidator
-
NumNode<
T extends num> -
Fluent validator for
numvalues (int/double). - NumValidator
-
PasswordNode<
T extends String> - A validator node for validating passwords (strings with specific strength rules).
- PasswordValidator
-
StringDateNode<
T extends String> - Validates strings as formatted dates/times.
- StringDateValidator
-
StringNode<
T extends String> -
A fluent builder for validating
Stringvalues. - StringValidator
-
SubnetNode<
T extends String> - A validator node for checking string values representing IP subnets.
- SubnetValidator
- ValidatorConfig
- Holds configuration settings for validation behavior.
Typedefs
-
Validator<
T> = (bool, String?) Function(T value, ValidationContext context)