Clase: Mongoid::Validatable::PresenceValidator

Hereda:
ActiveModel::EachValidator
  • Objeto
Mostrar todo
Definido en:
lib/mongoid/validatable/presence.rb

Overview

Valida que los atributos especificados no estén en blanco (según la definición de Object#blank?).

Ejemplos:

Define el validador de presencia.


class Person
  include Mongoid::Document
  field :title

  validates_presence_of :title
end

Resumen del método de instancia colapsar

Detalles del método de instancia

#validate_each(documento, atributo, valor) ⇒ Objeto

Validar el documento para el atributo y el valor.

Ejemplos:

Validar el documento.

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

Parámetros:

  • Documento (documento)

    El documento a validar.

  • atributo (Símbolo)

    El nombre del atributo.

  • Valor (objeto)

    El valor actual del campo.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Archivo 'lib/mongoid/validatable/presence.rb', línea 28

def validar_cada(Documento, atributo, Valor)
  Campo = Documento.campos[Documento.database_field_name(atributo)]
  si Campo.intentar(:localizado?) && !Valor.blank?
    Valor.each_pair hacer |_locale, _valor|
      Documento.errors.add(
        atributo,
        :blank_in_locale,
        **opciones.fusionar(location: _locale)
      ) si ¿no_presente?(_valor)
    end
  elsif Documento.relaciones.has_key?(atributo.to_s)
    si relacion_o_fk_faltante?(Documento, atributo, Valor)
      Documento.errors.add(atributo, :blank, **opciones)
    end
  else
    Documento.errors.add(atributo, :blank, **opciones) si ¿no_presente?(Valor)
  end
end