validate method
Validates the control.
Implementation
@override
Map<String, dynamic>? validate(AbstractControl<dynamic> control) {
final value = control.value;
var found = false;
for (final item in collection) {
if (value is String && item is String && !caseSensitive) {
if (item.toLowerCase() == value.toLowerCase()) {
found = true;
break;
}
} else {
if (item == value) {
found = true;
break;
}
}
}
if (found) {
return null; // Valid
} else {
return {
ValidationMessage.oneOf: {
'requiredOneOf': collection,
'actual': value,
if (value is String) 'caseSensitive': caseSensitive,
},
};
}
}