message method

  1. @override
String message(
  1. EcMessageKey key, [
  2. Map<String, Object?> args = const {}
])
override

Implementation

@override
String message(EcMessageKey key, [Map<String, Object?> args = const {}]) {
  switch (key) {
    // Identification
    case EcMessageKey.identificationEmpty:
      return 'Identification cannot be empty';
    case EcMessageKey.identificationInvalidType:
      return 'Invalid identification type';
    case EcMessageKey.identificationInvalid:
      return 'Invalid identification';
    case EcMessageKey.identificationNotNumber:
      return 'Invalid identification: must be a number.';
    case EcMessageKey.identificationLengthOrFormat:
      final digits = args['digits'] ?? 10;
      return 'Invalid identification: must be exactly $digits digits and '
          'contain only numbers.';
    case EcMessageKey.verificationDigitNotNumber:
      return 'Invalid verification digit: must be a number.';
    case EcMessageKey.verificationDigitInvalid:
      return 'Invalid verification digit.';
    case EcMessageKey.codeEstablishmentNotNumber:
      return 'Invalid code establishment: must be a number.';
    case EcMessageKey.codeEstablishmentZero:
      return 'Invalid code establishment: must be a number greater than 0.';
    case EcMessageKey.codeProvinceInvalid:
      return 'Invalid province code: the first two digits must be a number '
          'between 00 and 24.';
    case EcMessageKey.thirdDigitNotNumber:
      return 'Invalid third digit: must be a number.';
    case EcMessageKey.thirdDigitOutOfRange:
      return 'Invalid third digit: must be a number between 0 and 9.';
    case EcMessageKey.thirdDigitMustBeNine:
      return 'Invalid third digit: must be a number equal to 9.';
    case EcMessageKey.thirdDigitMustBeSix:
      return 'Invalid third digit: must be a number equal to 6.';

    // RUC
    case EcMessageKey.rucInvalid:
      return 'Invalid ruc identification';

    // Phone
    case EcMessageKey.phoneEmpty:
      return 'Phone number cannot be empty.';
    case EcMessageKey.phoneInvalid:
      return 'Invalid phone number';
    case EcMessageKey.phoneLocalLength:
      return 'Phone number must be exactly 10 characters long for a mobile '
          'number or 9 for a landline number.';
    case EcMessageKey.phoneLocalFormat:
      return 'Phone number must start with 09 for a mobile number or with '
          '02 to 07 for a landline number.';
    case EcMessageKey.phoneCountryCode:
      final countryCode = args['countryCode'] ?? '+593';
      return 'Phone number must start with the Ecuador country code '
          '$countryCode.';
    case EcMessageKey.phoneInternationalLength:
      final countryCode = args['countryCode'] ?? '+593';
      return 'Phone number must have exactly 9 digits after $countryCode '
          'for a mobile number or 8 for a landline number.';
    case EcMessageKey.phoneInternationalFormat:
      final countryCode = args['countryCode'] ?? '+593';
      return 'Phone number must continue with 9 for a mobile number or with '
          '2 to 7 for a landline number after $countryCode.';
  }
}