validateBIC function
validateBIC
// returns `ValidateBICResult(errorCodes: <ValidationErrorsBIC>[], valid: true)`
ibantools.validateBIC("NEDSZAJJXXX");
Implementation
ValidateBICResult validateBIC(String? bic) {
ValidateBICResult result =
const ValidateBICResult(errorCodes: <ValidationErrorsBIC>[], valid: true);
if (bic != null && bic.isNotEmpty) {
final CountrySpec? spec = countrySpecs[bic.toUpperCase().substring(4, 6)];
if (spec == null) {
result = result.copyWith(
valid: false,
errorCodes: List<ValidationErrorsBIC>.of(
result.errorCodes..add(ValidationErrorsBIC.noBICCountry)));
} else {
final RegExp reg =
RegExp(r'^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$');
if (!reg.hasMatch(bic)) {
result = result.copyWith(
valid: false,
errorCodes: List<ValidationErrorsBIC>.of(
result.errorCodes..add(ValidationErrorsBIC.wrongBICFormat)));
}
}
} else {
result = result.copyWith(
valid: false,
errorCodes: List<ValidationErrorsBIC>.of(
result.errorCodes..add(ValidationErrorsBIC.noBICProvided)));
}
return result;
}