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


30
31
32
# Archivo 'lib/mongoid/validatable.rb', línea 30

def begin_validate
  Compacto.begin_validate(sí mismo)
end

#exit_validateobjeto

Salir de la validación asociada.

Ejemplos:

Validación de salida.

document.exit_validate


38
39
40
# Archivo 'lib/mongoid/validatable.rb', línea 38

def exit_validate
  Compacto.exit_validate(sí mismo)
end

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

Dadas las opciones proporcionadas, ¿estamos realizando validaciones?

Ejemplos:

¿Estamos realizando validaciones?

document.performing_validations?(validate: true)

Parámetros:

  • opciones (Hash) (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.



60
61
62
# Archivo 'lib/mongoid/validatable.rb', línea 60

def realizando_validaciones?(opciones = {})
  opciones[: valide].nil? ? true : 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:

Lea 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.



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

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_memoria) || relación
  elsif campos[atributo].intentar(:localizado?)
    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?

¿Es válido el documento en un contexto?

person.valid?(:create)

Parámetros:

  • context (Símbolo) (predeterminado: nulo)

    El contexto de validación opcional.

Devuelve:

  • (true | false)

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



99
100
101
# Archivo 'lib/mongoid/validatable.rb', línea 99

def valid?(context = nulo)
  super context ? 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?



109
110
111
# Archivo 'lib/mongoid/validatable.rb', línea 109

def ¿validado?
  Compacto.¿validado?(sí mismo)
end

#validandoObject

Realiza una validación dentro del bloque asociado.



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

def validando
  begin_validate
  rendimiento
asegurar
  exit_validate
end

#validando_con_consulta?true | false

¿Actualmente estamos realizando una validación que tiene una consulta?

Ejemplos:

¿Estamos validando con una query?

document.validating_with_query?

Devuelve:

  • (true | false)

    Si estamos validando con una query.



119
120
121
# Archivo 'lib/mongoid/validatable.rb', línea 119

def ¿validando_con_consulta?
  sí mismo.clase.¿validando_con_consulta?
end