Class: CpfCnpjValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- CpfCnpjValidator
- Defined in:
- lib/cpf_cnpj_plus/active_model_validator.rb
Overview
Validador ActiveModel opcional. Não é carregado por padrão junto com a gem — quem quiser usar em um model Rails/ActiveModel deve fazer:
require "cpf_cnpj_plus/active_model_validator"
class Empresa
include ActiveModel::Model
attr_accessor :cnpj
validates :cnpj, cpf_cnpj: true # detecta CPF ou CNPJ pelo tamanho
validates :cnpj, cpf_cnpj: { type: :cnpj } # aceita só CNPJ (numérico ou alfanumérico)
validates :cpf, cpf_cnpj: { type: :cpf } # aceita só CPF
end
Instance Method Summary collapse
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/cpf_cnpj_plus/active_model_validator.rb', line 20 def validate_each(record, attribute, value) return if [:allow_nil] && value.nil? return if [:allow_blank] && (value.nil? || value.to_s.strip.empty?) record.errors.add(attribute, .fetch(:message, :invalid)) unless valid_document?(value) end |