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.