Classe: Mongoid::Validatable::UniquenessValidator

Herda:
ActiveModel::EachValidator
  • Objeto
mostrar tudo
Inclui:
Consultável
Definido em:
lib/mongoid/validatable/uniqueness.rb

Visão geral

Valida se um campo é exclusivo ou não em relação aos documentos no banco de dados.

Também é possível limitar a restrição de exclusividade a um conjunto de documentos que correspondam a determinadas condições:

class Person
  include Mongoid::Document
  field :title
  field :active, type: Boolean

  validates_uniqueness_of :title, conditions: -> {where(active: true)}
end

Exemplos:

Defina o validador de singularidade.


class Person
  include Mongoid::Document
  field :title

  validates_uniqueness_of :title
end

Recolhimento do Resumo do método de instância

Métodos incluídos do Queryable

#with_query

Detalhes do método de instância

#validate_each(documento, atributo, valor) ➤ Erros

Valide o documento quanto a violações de exclusividade.

Exemplos:

Valide o documento.

validate_each(person, :title, "Sir")

Parâmetros:

  • documento (Documento)

    O documento para validar.

  • atributo (Símbolo)

    O campo para validar.

  • valor (Objeto)

    O valor do campo.

Retorna:



41
42
43
44
45
46
47
48
49
50
51
# Arquivo 'lib/mongoid/validatable/uniqueness.rb', linha 41

def validate_each(documento, atributo, valor)
  with_query(documento) fazer
    attrib, valid = to_validate(documento, atributo, valor)
    Método a menos que validation_required?(documento, attrib)
    se documento.incorporado?
      validate_embedded(documento, attrib, valid)
    mais
      validate_root(documento, attrib, valid)
    end
  end
end