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 num values (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 String values.
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)