Classe: Mongoid::Validatable::PresenceValidator

Herda:
ActiveModel::EachValidator
  • Objeto
mostrar tudo
Definido em:
lib/mongoid/validatable/Presence.rb

Visão geral

Valida que os atributos especificados não estão em branco (conforme definido por Object#Blank?).

Exemplos:

Defina o validador de presença.


class Person
  include Mongoid::Document
  field :title

  validates_presence_of :title
end

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#validate_each(documento, atributo, valor) ➤ Objeto

Valide o documento para o atributo e valor.

Exemplos:

Valide o documento.

validator.validate_each(doc, :title, "")

Parâmetros:

  • documento (Documento)

    O documento para validar.

  • atributo (Símbolo)

    O nome do atributo.

  • valor (Objeto)

    O valor atual do campo.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Arquivo 'lib/mongoid/validatable/Presence.rb', linha 28

def validate_each(documento, atributo, valor)
  Campo = documento.Campos[documento.database_field_name(atributo)]
  se Campo.tentar(:localizado?) && !valor.em branco?
    valor.cada_pair fazer |_locale, _value|
      documento.errors.adicionar(
        atributo,
        :lank_in_locale,
        **opções.mesclar(localização: _locale)
      ) se not_present?(_value)
    end
  elsif documento.relações.has_key?(atributo.to_s)
    se concern_or_fk_missing?(documento, atributo, valor)
      documento.errors.adicionar(atributo, :blank, **opções)
    end
  mais
    documento.errors.adicionar(atributo, :blank, **opções) se not_present?(valor)
  end
end