Classe: Mongoid::Validatable::AssociatedValidator

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

Visão geral

Valida se uma associação é válida ou não. Irá lidar corretamente com uma e tem muitas associações.

Exemplos:

Configure as validações de associação.


class Person
  include Mongoid::Document
  embeds_one :name
  embeds_many :addresses

  validates_associated :name, :addresses
end

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#validate_each(documento, atributo, valor) ➤ Objeto

Valida se as associações fornecidas são todas nulas ou todas válidas. Se nenhum dos dois for verdadeiro , os erros apropriados serão adicionados ao documento pai .

Exemplos:

Valide a associação.

validator.validate_each(document, :name, name)

Parâmetros:

  • documento (Documento)

    O documento para validar.

  • atributo (Símbolo)

    A associação para validar.

  • valor (Objeto)

    O valor da associação.



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

def validate_each(documento, atributo, valor)
  começar
    documento.begin_validate
    válido = Array.wrap(valor).coletar fazer |doc|
      se doc.nada? || doc.sinalizado_for_destroy?
        true
      mais
        doc.validado? ? true : doc.valid?
      end
    end.todos?
  garantir
    documento.exit_validate
  end
  documento.errors.adicionar(atributo, :invalid, **opções) a menos que válido
end