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 ​