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);
return switch (result) {
Valid() => result,
Invalid(:final error) => Valid(onError([error])),
InvalidAll(:final errors) => Valid(onError(errors)),
};
}