ConditionalLazyFormix<T, E> class

A validator that conditionally creates itself based on a condition.

The validator is only created and used when the condition is met. If the condition is not met, validation passes automatically.

final premiumValidator = ConditionalLazyFormix(
  condition: (value) => isPremiumUser,
  factory: () => _buildPremiumValidationRules(),
);

// If not premium user, skips validation entirely
// If premium user, creates and runs the validator
Inheritance
Available extensions

Constructors

ConditionalLazyFormix({required bool condition(T value), required Formix<T, E> factory()})
Creates a conditional lazy validator.

Properties

condition bool Function(T value)
The condition that determines whether to validate.
final
hashCode int
The hash code for this object.
no setterinherited
isInstantiated bool
Returns true if the validator has been instantiated.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
validator Formix<T, E>
Returns the underlying validator, creating it if necessary.
no setter

Methods

andThen(Formix<T, E> next) Formix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Chains this validator with next, running next only if this passes.
cached() CachedFormix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Wraps this validator with single-value caching.
lazy() LazyFormix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Creates a lazy validator that defers instantiation until first use.
lruCached({int maxSize = 10}) LruCachedFormix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Wraps this validator with LRU (Least Recently Used) caching.
mapError<E2>(E2 mapper(E error)) Formix<T, E2>

Available on Formix<T, E>, provided by the FormixExtensions extension

Maps errors from type E to type E2.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
optional({bool isEmpty(T value)?}) Formix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Makes this validator optional - skips validation when empty.
recover(T onError(List<E> errors)) Formix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Recovers from validation errors with a default value.
reset() → void
Resets the lazy validator.
tap({void onValid(T value)?, void onInvalid(List<E> errors)?}) Formix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Applies side effects without affecting validation.
toString() String
A string representation of this object.
inherited
validate(T value) ValidationResult<T, E>
Validates value and returns a ValidationResult.
override
when(bool condition(T value)) Formix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Conditionally applies this validator based on condition.
whenNot(bool condition(T value)) Formix<T, E>

Available on Formix<T, E>, provided by the FormixExtensions extension

Conditionally skips this validator based on condition.
withMessageFormatter(ErrorMessageFormatter<E> formatter) Formix<T, String>

Available on Formix<T, E>, provided by the FormixExtensions extension

Maps errors to user-facing messages using formatter.

Operators

operator ==(Object other) bool
The equality operator.
inherited