validate_kit library

A zero-dependency, fluent form validation toolkit for Dart and Flutter.

validate_kit replaces repetitive, nested form validation code with clean, chainable rules that read like a sentence:

import 'package:validate_kit/validate_kit.dart';

final error = FieldValidator()
    .required('Field cannot be blank')
    .email('Enter a valid email address')
    .custom((value) =>
        value!.contains('admin') ? 'Admin emails not allowed' : null)
    .validate(controller.text);

Every built-in rule skips empty values unless it is FieldValidator.required, so optional fields behave intuitively. Error messages can be overridden per call or globally through ValidationMessages for localization.

Classes

FieldValidator
A lightweight, fluent and immutable-friendly builder of validation rules.
ValidationMessages
Default, localization-ready error messages used by the built-in rules.
ValidationResult
The outcome of validating a value against a FieldValidator.
ValidationRule
A single, immutable validation rule.
Validators
Ready-made, single-rule validator functions.

Extensions

NullableStringValidationX on String?
Convenience getters for validating nullable String values in place.
StringValidationX on String
Convenience getters for validating non-null String values.

Typedefs

MultiValidator = FieldValidator
A descriptive alias for FieldValidator.
ValidationChecker = String? Function(String? value)
Signature of the callback used by a single ValidationRule.
ValidationFunction = String? Function(String? value)
Signature accepted by Validators.custom.