类:Mongoid::Validatable::UniquenessValidator

继承:
ActiveModel::EachValidator
  • 对象
显示全部
包括:
可查询
定义于:
lib/mongoid/validatable/uniqueness.rb

Overview

验证字段相对于数据库中的文档是否唯一。

还可以将唯一性约束限制为匹配某些条件的一设立文档:

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

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

例子:

定义唯一性验证器。


class Person
  include Mongoid::Document
  field :title

  validates_uniqueness_of :title
end

实例方法摘要折叠

Queryable中包含的方法

#with_query

实例方法详细信息

# validate_each (document,attribute,value) ⇒错误

验证文档是否存在违反唯一性的情况。

例子:

验证文档。

validate_each(person, :title, "Sir")

参数:

  • 文档 (文档)

    要验证的文档。

  • 属性 (符号)

    要验证的字段。

  • ( Object )

    字段的值。

返回:



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

def validate_each(文档, 属性, )
  with_query(文档) do
    attrib, val = to_validate(文档, 属性, )
    return 除非 validation_required?(文档, attrib)
    if 文档.嵌入式?
      validate_embedded(文档, attrib, val)
    else
      validate_root(文档, attrib, val)
    end
  end
end