google_i18n_address 2.0.0 copy "google_i18n_address: ^2.0.0" to clipboard
google_i18n_address: ^2.0.0 copied to clipboard

Address validation helpers for Google's i18n address database

example/google_i18n_address_example.dart

// ignore_for_file: avoid_print

import 'package:google_i18n_address/google_i18n_address.dart';

void main() {
  // Example 1: Validating an address
  print('Example 1: Validating an address');
  try {
    final address = normalizeAddress({
      AddressField.countryCode: 'US',
      AddressField.countryArea: 'California',
      AddressField.city: 'Mountain View',
      AddressField.postalCode: '94043',
      AddressField.streetAddress: '1600 Amphitheatre Pkwy',
    });
    print('Normalized address: $address');
  } on InvalidAddressError catch (e) {
    print('Validation error: ${e.errors}');
  }
  print('');

  // Example 2: Validating an invalid address
  print('Example 2: Validating an invalid address');
  try {
    final address = normalizeAddress({
      AddressField.countryCode: 'US',
      AddressField.countryArea: 'California',
      AddressField.city: 'Mountain View',
      AddressField.postalCode: '74043', // Invalid postal code for California
      AddressField.streetAddress: '1600 Amphitheatre Pkwy',
    });
    print('Normalized address: $address');
  } on InvalidAddressError catch (e) {
    print('Validation error: ${e.errors}');
  }
  print('');

  // Example 3: Getting validation rules
  print('Example 3: Getting validation rules');
  final rules = getValidationRules({
    AddressField.countryCode: 'US',
    AddressField.countryArea: 'CA',
  });
  print('Required fields: ${rules.requiredFields}');
  print('Postal code examples: ${rules.postalCodeExamples}');
  print('');

  // Example 4: Latinizing an address
  print('Example 4: Latinizing an address');
  final chineseAddress = {
    AddressField.countryCode: 'CN',
    AddressField.countryArea: '云南省',
    AddressField.postalCode: '677400',
    AddressField.city: '临沧市',
    AddressField.cityArea: '凤庆县',
    AddressField.streetAddress: '中关村东路1号',
  };
  final latinized = latinizeAddress(chineseAddress);
  print('Original: $chineseAddress');
  print('Latinized: $latinized');
  print('');

  // Example 5: Formatting an address
  print('Example 5: Formatting an address');
  final usAddress = {
    AddressField.name: 'John Doe',
    AddressField.companyName: 'Example Corp',
    AddressField.countryCode: 'US',
    AddressField.countryArea: 'CA',
    AddressField.postalCode: '94043',
    AddressField.city: 'Mountain View',
    AddressField.streetAddress: '1600 Amphitheatre Pkwy',
  };
  print('Formatted address:');
  print(formatAddress(usAddress));
  print('');

  // Example 6: Getting field order
  print('Example 6: Getting field order');
  final fieldOrder = getFieldOrder({AddressField.countryCode: 'PL'});
  print('Field order for Poland: $fieldOrder');
  print('');
}
1
likes
160
points
19
downloads

Publisher

verified publisherfeinstein.com.br

Weekly Downloads

Address validation helpers for Google's i18n address database

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

args, collection, http, logging, meta, path

More

Packages that depend on google_i18n_address