模块:Mongoid::Validatable::Macros

扩展方式:
ActiveSupport::Concern
定义于:
lib/mongoid/validatable/macros.rb

Overview

Mongoid::Document 中包含的 Mixin 模块添加了各种验证宏方法,例如validates_presence_ofvalidates_uniqueness_of

实例方法摘要折叠

实例方法详细信息

# validates_ Associate (*args) ⇒对象

验证关联是否有效。 会正确处理has one 和 has many 关联。

例子:


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

  validates_associated :name, :addresses
end

参数:

  • *args ( Object... )

    要传递给验证器的参数。



27
28
29
# File 'lib/mongoid/validatable/macros.rb', line 27

def validates_关联(*args)
  validates_with(AssociatedValidator, _merge_attributes(args))
end

# validates_format_of (*args) ⇒对象

验证字段的格式。

例子:

class Person
  include Mongoid::Document
  field :title

  validates_format_of :title, with: /\A[a-z0-9 \-_]*\z/i
end

参数:

  • *args ( Object... )

    要验证的字段的名称。



59
60
61
# File 'lib/mongoid/validatable/macros.rb', line 59

def validates_format_of(*args)
  validates_with(FormatValidator, _merge_attributes(args))
end

# validates_length_of (*args) ⇒对象

验证字段的长度。

例子:

class Person
  include Mongoid::Document
  field :title

  validates_length_of :title, minimum: 100
end

参数:

  • *args ( Object... )

    要验证的字段的名称。



74
75
76
# File 'lib/mongoid/validatable/macros.rb', line 74

def validates_length_of(*args)
  validates_with(LengthValidator, _merge_attributes(args))
end

# validates_numericity_of(*args) ⇒ 对象

验证字段是否包含数值。

例子:

class Person
  include Mongoid::Document
  field :cost

  validates_numericality_of :cost
end

参数:

  • *args ( Object... )

    要验证的字段的名称。



104
105
106
# File 'lib/mongoid/validatable/macros.rb', line 104

def validates_numericality_of(*args)
  validates_with(NumericityValidator, _merge_attributes(args))
end

# validates_presence_of (*args) ⇒对象

验证字段是否存在,即 nil 或空。

例子:

class Person
  include Mongoid::Document
  field :title

  validates_presence_of :title
end

参数:

  • *args ( Object... )

    要验证的字段的名称。



89
90
91
# File 'lib/mongoid/validatable/macros.rb', line 89

def validates_presence_of(*args)
  validates_with(PresenceValidator, _merge_attributes(args))
end

# validates_uniqueness_of (*args) ⇒对象

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

例子:


class Person
  include Mongoid::Document
  field :title

  validates_uniqueness_of :title
end

参数:

  • *args ( Object... )

    要传递给验证器的参数。



44
45
46
# File 'lib/mongoid/validatable/macros.rb', line 44

def validates_uniqueness_of(*args)
  validates_with(UniquenessValidator, _merge_attributes(args))
end