Módulo: Mongoid::Validatable

Ampliado por:
ActiveSupport::Concern
Incluido en:
Compuesto
Definido en:
lib/mongoid/validatable.rb,
lib/mongoid/validatable/format.rb,
lib/mongoid/validatable/length.rb,
lib/mongoid/validatable/macros.rb,
lib/mongoid/validatable/presence.rb,
lib/mongoid/validatable/queryable.rb,
lib/mongoid/validatable/associated.rb,
lib/mongoid/validatable/uniqueness.rb,
lib/mongoid/validatable/localizable.rb,
lib/mongoid/validatable/numericality.rb

Overview

Este módulo proporciona validaciones adicionales que ActiveModel no proporciona: validates_associated y validates_uniqueness_of.

Definido bajo Namespace

Modules: ClassMethods, Localizable, Macros, Queryable Clases: AssociatedValidator, FormatValidator, LengthValidator, NumericalityValidator, PresenceValidator, UniquenessValidator

Resumen del método de instancia colapsar

Detalles del método de instancia

#begin_validateObjeto

Comienza la validación asociada.

Ejemplos:

Begin validation.

document.begin_validate


28
29
30
# Archivo 'lib/mongoid/validatable.rb', línea 28

def begin_validate
  Con hilo.begin_validate(sí mismo)
end

#exit_validateobjeto

Salir de la validación asociada.

Ejemplos:

Validación de salida.

document.exit_validate


36
37
38
# Archivo 'lib/mongoid/validatable.rb', línea 36

def exit_validate
  Con hilo.exit_validate(sí mismo)
end

#performing_validations?(opciones = {}) ⇒ verdadero | falso

Dadas las opciones proporcionadas, ¿estamos realizando validaciones?

Ejemplos:

¿Estamos realizando validaciones?

document.performing_validations?(validate: true)

Parámetros:

  • opciones (encriptada) (por defecto: {})

    Las opciones a comprobar.

Opciones Hash (options):

  • : valide (true | false)

    Si se va a validar o no.

Devuelve:

  • (true | false)

    Si estamos validando.



58
59
60
# Archivo 'lib/mongoid/validatable.rb', línea 58

def ¿realizando_validaciones?(opciones = {})
  opciones[: valide].nil? || opciones[: valide]
end

#read_attribute_for_validation(attr) ⇒ Objeto

Anula el comportamiento por defecto de ActiveModel, ya que necesitamos gestionar las validaciones de asociaciones de manera ligeramente diferente a simplemente llamar al getter.

Ejemplos:

Lee el valor.

person.read_attribute_for_validation(:addresses)

Parámetros:

  • attr (Símbolo)

    El nombre del campo o asociación.

Devuelve:

  • (objeto)

    El valor del campo o la asociación.



72
73
74
75
76
77
78
79
80
81
82
83
84
# Archivo 'lib/mongoid/validatable.rb', línea 72

def read_attribute_for_validation(attr)
  Atributo = database_field_name(attr)
  si relaciones.key?(Atributo)
    begin_validate
    relación = without_autobuild { enviar(attr) }
    exit_validate
    relación.intentar(en la memoria) || relación
  elsif Campos[Atributo].intentar(:localized?)
    atributos[Atributo]
  else
    enviar(attr)
  end
end

#¿válido?(contexto = nil) ⇒ true | false

Determine si el documento es válido.

Ejemplos:

¿Es válido el documento?

person.valid?

¿El documento es válido en un contexto?

person.valid?(:create)

Parámetros:

  • context (Símbolo) (valor por defecto: nil)

    El contexto de validación opcional.

Devuelve:

  • (true | false)

    Cierto si es válido, falso si no es así.



97
98
99
# Archivo 'lib/mongoid/validatable.rb', línea 97

def valid?(context = nulo)
  super(context || (nuevo_registro? ? crear: : :update))
end

#¿validado?true | false

Se utiliza para prevenir bucles infinitos en las validaciones asociadas.

Ejemplos:

¿El documento está validado?

document.validated?

Devuelve:

  • (true | false)

    ¿El documento ya ha sido validado?



107
108
109
# Archivo 'lib/mongoid/validatable.rb', línea 107

def ¿validado?
  Con hilo.¿validado?(sí mismo)
end

#validandoObject

Realiza una validación dentro del bloque asociado.



41
42
43
44
45
46
# Archivo 'lib/mongoid/validatable.rb', línea 41

def validando
  begin_validate
  rendimiento
asegurar
  exit_validate
end

#validando_con_consulta?true | false

¿Estamos realizando actualmente una validación que tenga una query?

Ejemplos:

¿Estamos validando con una query?

document.validating_with_query?

Devuelve:

  • (true | false)

    Si estamos validando con una query.



117
118
119
# Archivo 'lib/mongoid/validatable.rb', línea 117

def validando_con_query?
  sí mismo.clase.validando_con_query?
end