valdiator static method
Future<ExtendedValidatorResult>
valdiator({
- required String value,
- required List<
ExtendedValidator> ? validators,
Will return null if the validators passed are empty or
if the validators check out as valid.
Otherwise, if a validator does not qualify, will return a ExtendedValidatorResult.
Implementation
static Future<ExtendedValidatorResult> valdiator({
required String value,
required List<ExtendedValidator>? validators,
}) async {
List<ExtendedValidatorResult> result = [];
if (validators != null && validators.isNotEmpty) {
// Append the async validator results.
for (var v in validators.where((element) => element.isAsync)) {
if (await v.validator(value)) {
result.add(ExtendedValidatorResult(
result: true, value: value, message: v.message));
}
}
// Append the sync validator results.
for (var v in validators.where((element) => !element.isAsync)) {
if (v.validator(value)) {
result.add(ExtendedValidatorResult(
result: true, value: value, message: v.message));
}
}
}
// Return the last `ExtendedValidatorResult` if the reuslt was invalid.
// Otherwise return an `ExtendedValidatorResult` with a null result.
return result.isNotEmpty
? result.last
: ExtendedValidatorResult(result: null, value: value);
}