模块: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... )

    要传递给验证器的参数。



25
26
27
# File 'lib/mongoid/validatable/macros.rb', line 25

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

    要验证的字段的名称。



57
58
59
# File 'lib/mongoid/validatable/macros.rb', line 57

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

    要验证的字段的名称。



72
73
74
# File 'lib/mongoid/validatable/macros.rb', line 72

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

    要验证的字段的名称。



102
103
104
# File 'lib/mongoid/validatable/macros.rb', line 102

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

    要验证的字段的名称。



87
88
89
# File 'lib/mongoid/validatable/macros.rb', line 87

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

    要传递给验证器的参数。



42
43
44
# File 'lib/mongoid/validatable/macros.rb', line 42

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