类:Mongoid::Validatable::PresenceValidator

继承:
ActiveModel::EachValidator
  • 对象
显示全部
定义于:
lib/mongoid/validatable/presence.rb

Overview

验证指定的属性不为空(由 Object#blank? 定义)。

例子:

定义存在验证器。


class Person
  include Mongoid::Document
  field :title

  validates_presence_of :title
end

实例方法摘要折叠

实例方法详细信息

# validate_each (文档,attribute,value) ⇒对象

验证文档中的属性和值。

例子:

验证文档。

validator.validate_each(doc, :title, "")

参数:

  • 文档 (文档)

    要验证的文档。

  • 属性 (符号)

    属性名称。

  • ( Object )

    字段的当前值。



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/mongoid/validatable/presence.rb', line 28

def validate_each(文档, 属性, )
  字段 = 文档.字段[文档.database_field_name(属性)]
  if 字段.try(:localized?) && !.空白?
    .each_pair do |_locale, _value|
      文档.errors.添加(
        属性,
        :blank_in_locale,
        **选项.合并(merge)(位置: _locale)
      ) if not_present?(_value)
    end
  elsif 文档.关系.has_key?(属性.to_s)
    if lation_or_fk_missing?(文档, 属性, )
      文档.errors.添加(属性, :blank, **选项)
    end
  else
    文档.errors.添加(属性, :blank, **选项) if not_present?()
  end
end