validate method
Implementation
@override
ValidationResult<U> validate(T value) {
final invalids =
rules.map((e) => e.apply(value)).whereType<Invalid>().toList();
if (invalids.isNotEmpty) {
return invalids.reduce((value, element) =>
Invalid<U>(reasons: [...value.reasons, ...element.reasons]))
as Invalid<U>;
}
return ValidationResult.valid();
}