Skip to content

Brazilian zipcode validation for ActiveRecord, integrated with correios-cep gem.

License

Notifications You must be signed in to change notification settings

pedrofurtado/validates-correios-cep

Repository files navigation

validates-correios-cep

Gem Version Gem CI license

Installation

Add this line to your application's Gemfile:

gem 'validates-correios-cep'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install validates-correios-cep

Usage

ActiveRecord models

class Person < ActiveRecord::Base
  validates :my_attribute, correios_cep: true

  # or

  validates_correios_cep_of :my_attribute
end

Plain Old Ruby Objects

class Person
  include ActiveModel::Model

  validates :my_attribute, correios_cep: true

  # or

  validates_correios_cep_of :my_attribute
end

I18n

To customize your error messages you can create a locale file like this:

en:
  correios_cep:
    errors:
      messages:
        not_exists: '%{zipcode} is not a existent Brazilian zipcode'
        connection_failed: 'failure on connection with Brazilian Correios API'
        invalid: '%{zipcode} is not a valid Brazilian zipcode'
        timeouted: 'timeout with Brazilian Correios API'

The %{zipcode} contains the zipcode value, filled by user.

Something wrong with the translations? Contribute it!

Send a pull request! Fix the translations or create it for some missing locale. Help us to improves the quality of translations!