クラス: Mongoid::Validable::PresenceValidator

継承:
ActiveModel::EachValidator
  • オブジェクト
すべて表示
定義:
lib/mongoid/validable/presentation.rb

Overview

指定された属性が空白ではない( Object#空白? で定義されている)ことを検証します。

例:

存在バリデーターを定義します。


class Person
  include Mongoid::Document
  field :title

  validates_presence_of :title
end

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

# validate_each (ドキュメント、属性、値) = validate_each (ドキュメント、属性、値) =オブジェクト

ドキュメント内の属性と値を検証します。

例:

ドキュメントを検証します。

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

パラメーター:

  • ドキュメント ドキュメント

    検証するドキュメント。

  • 属性 シンボル

    属性名。

  • 価値 オブジェクト

    フィールドの現在の値。



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# ファイル 'lib/mongoid/validable/presence.rb' 行28

デフォルト validate_each(ドキュメント, 属性, 価値)
  フィールド = ドキュメント.フィールド[ドキュメント.database_field_name(属性)]
  場合 フィールド.試す(:localized?) & & !価値.blank?
    価値.each_pair 行う |_locale, _value|
      ドキュメント.errors.add(
        属性,
        :空白_in_locale,
        **options.merge(ロケーション: _locale)
      ) 場合 not_presentation?(_value)
    end
  elsif ドキュメント.関係.has_keys_keys(属性.to_s)
    場合 connection_or_fk_欠落していますか?(ドキュメント, 属性, 価値)
      ドキュメント.errors.add(属性, :blank, **options)
    end
  else
    ドキュメント.errors.add(属性, :blank, **options) 場合 not_presentation?(価値)
  end
end