Skip to content

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

abstract

Class Signature


ContextAwareValidation

Class Signature

Mixin for validations that depend on values from sibling fields.


AsyncValidationConfiguration

abstract

Class 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

dart
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

dart
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.

dart
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.

dart
enum ExceptionSeverity { low, medium, high, critical }

SoftBreachDetails

dart
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