A Rails gem for validating and formatting postal codes/zipcodes with support for 233 country codes.
ValidatesZipcode is a Ruby gem that adds postal code/zipcode validation to Rails applications. It validates zipcodes against country-specific formats for 233 countries, ensuring international address data quality. The gem integrates with ActiveModel validations and can also format zipcodes according to country rules.
Rails developers building applications that require international address validation, particularly e-commerce, shipping, or user registration systems that need to validate postal codes across multiple countries.
Developers choose ValidatesZipcode for its comprehensive country coverage (233 codes), seamless Rails integration, and additional formatting capabilities. It saves development time compared to implementing custom validation logic for each country's postal code format.
Postal code / zipcode validation for Rails, supporting 233 country codes
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Validates postal codes for 233 country codes using regex patterns from CLDR and other sources, ensuring broad international support without manual regex definitions.
Allows country specification via model attributes (e.g., country_alpha2) or explicit codes, making it adaptable to diverse data models and use cases.
Formats zipcodes according to country-specific rules (e.g., capitalizing UK codes) and integrates with regexp-examples for generating valid test data.
Works out-of-the-box with ActiveModel validations and I18n for error messages, reducing setup time for Rails applications.
Formatting is only available for specific countries listed in formatter.rb, and unsupported codes raise InvalidZipcodeError, reducing utility for display purposes.
Relies solely on regex patterns without API integration, so it can't verify if a postal code actually exists or is deliverable, which may lead to data inaccuracies.
Test data generation requires the regexp-examples gem, adding an extra dependency that might complicate setup or version management for some projects.