validate method

  1. @override
Map<String, Object>? validate(
  1. AbstractControl<PhoneNumber> control
)

Validates the control.

Implementation

@override
Map<String, Object>? validate(AbstractControl<PhoneNumber> control) {
  final value = control.value;

  if (value == null || value.nsn.trim().isEmpty) return null;

  if (!value.isValid(type: type)) {
    final messageKey = switch (type) {
      PhoneNumberType.mobile =>
        PhoneValidationMessage.invalidMobilePhoneNumber,
      PhoneNumberType.fixedLine =>
        PhoneValidationMessage.invalidFixedLinePhoneNumber,
      _ => PhoneValidationMessage.invalidPhoneNumber,
    };

    return {
      messageKey: type ?? true,
    };
  }

  return null;
}