CPF and CNPJ validations for ActiveModel and Rails.
As gem:
# in Gemfile gem 'validates_cpf_cnpj' # Run bundler $ bundle install
Validating a CPF attribute:
class Patient < ActiveRecord::Base validates_cpf :cpf_attr # or validates :cpf_attr, :cpf => true end
Validating a CNPJ attribute:
class Supplier < ActiveRecord::Base validates_cnpj :cnpj_attr # or validates :cnpj_attr, :cnpj => true end
Validating an attribute that can store both CPF or CNPJ:
class Customer < ActiveRecord::Base validates_cpf_or_cnpj :cpf_cnpj_attr # or validates :cpf_cnpj_attr, :cpf_or_cnpj => true end
Regular validation options:
:allow_nil - Allows a nil value to be valid :allow_blank - Allows a nil or empty string value to be valid :if - Executes validation when :if evaluates true :unless - Executes validation when :unless evaluates false :on - Specifies validation context (e.g :save, :create or :update). Default is :save
Feel free to fork, fix and send me a pull request.
Released under the MIT license: