API: Validations
All validations extend ValidationConfiguration and implement a validate<T>(T? value) method that returns an error message string or null.
Base Types
ValidationConfiguration
abstractClass Signature
ContextAwareValidation
Class Signature
Mixin for validations that depend on values from sibling fields.
AsyncValidationConfiguration
abstractClass Signature
Sync Validations
RequiredValidation
Class Signature
Schema: formfield.validation.required
Checks for null, empty strings, empty lists, and empty maps.
EmailValidation
Class Signature
Schema: formfield.validation.text.email
RFC 5322 simplified email regex.
UrlValidation
Class Signature
Schema: formfield.validation.text.url
PatternValidation
Class Signature
Schema: formfield.validation.pattern
TextLengthValidation
Class Signature
Schema: formfield.validation.text.length
enum OperatorType { min, max, equal }MinLengthValidation
Class Signature
Schema: formfield.validation.minLength
MaxLengthValidation
Class Signature
Schema: formfield.validation.maxLength
NumberRangeValidation
Class Signature
Schema: formfield.validation.numberRange
DateRangeValidation
Class Signature
Schema: formfield.validation.dateRange
CreditCardValidation
Class Signature
Schema: formfield.validation.text.creditCard
Luhn algorithm validation.
IpAddressValidation
Class Signature
Schema: formfield.validation.text.ipAddress
IPv4 and IPv6 support.
Temporal Validations
FutureDateValidation
Class Signature
Schema: formfield.validation.futureDate
PastDateValidation
Class Signature
Schema: formfield.validation.pastDate
BusinessHoursValidation
Class Signature
Schema: formfield.validation.businessHours
class TimeRange {
final String startTime; // "HH:mm" (24-hour)
final String endTime; // "HH:mm" (24-hour)
}Context-Aware Validations
DateDependencyValidation
Class Signature
Schema: formfield.validation.dateDependency
Cross-field date validation with reactive subscriptions.
enum DateComparisonOperator {
before, after, beforeOrEqual, afterOrEqual, sameDay, differentDay
}Soft Validations
SoftRangeValidation
Class Signature
Schema: formfield.validation.softRange
Warns but does not block submission. Returns isSoft = true.
enum ExceptionSeverity { low, medium, high, critical }SoftBreachDetails
class SoftBreachDetails {
final String fieldName;
final double? value;
final double? softMin;
final double? softMax;
final String warningMessage;
final bool triggersException;
final ExceptionSeverity exceptionSeverity;
}DynamicValidator
DynamicValidator
Class Signature
Used by the rules system to activate/deactivate validations at runtime.
Next Steps
- Rules -- Conditions and actions
- FormBuilder -- DSL API
- Form -- Form container types