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) {
if (validators.isEmpty) {
return Valid(value);
}
E? lastError;
for (final validator in validators) {
final result = validator.validate(value);
if (result.isValid) {
return result;
}
lastError = result.errorOrNull;
}
return Invalid(fallbackError ?? lastError as E);
}