validate
ValidationResult<
- dynamic value
override
Implementation
@override
ValidationResult<String> validate(dynamic value) {
if (value == null) {
return Invalid({
_fieldName: ['is required']
});
}
if (value is! String) {
return Invalid({
_fieldName: ['must be a string']
});
}
final errors = <String>[];
for (final check in _checks) {
final error = check(value);
if (error.isNotEmpty) errors.add(error);
}
if (errors.isNotEmpty) {
return Invalid({_fieldName: errors});
}
return Valid(value);
}