validate method
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;
}