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.



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

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|
      próximo a menos que not_present?(_value)

      documento.errors.adicionar(
        atributo,
        :lank_in_locale,
        **opções, localização: _locale
      )
    end
  elsif documento.relações.has_key?(atributo.to_s)
    documento.errors.adicionar(atributo, :blank, **opções) se concern_or_fk_missing?(documento, atributo, valor)
  elsif not_present?(valor)
    documento.errors.adicionar(atributo, :blank, **opções)
  end
end