validate method

  1. @override
ValidationResult<T, E> validate(
  1. T value
)
override

Validates value and returns a ValidationResult.

Returns Valid if the value passes validation, or Invalid/InvalidAll if it fails.

Implementation

@override
ValidationResult<T, E> validate(T value) {
  final result = validator.validate(value);
  switch (result) {
    case Valid(:final value):
      onValid?.call(value);
    case Invalid(:final error):
      onInvalid?.call([error]);
    case InvalidAll(:final errors):
      onInvalid?.call(errors);
  }
  return result;
}