クラス: Mongoid::Validable::As associatedValidator

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

Overview

関連付けが有効かどうかを検証します。 は 1 つの関連付けであり、多くの関連付けがあることを正しく処理します。

例:

関連付けの検証を設定します。


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

  validates_associated :name, :addresses
end

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

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

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

提供された関連付けが、すべて nil またはすべて有効であることを検証します。 どちらも当てはまらない場合は、適切なエラーが親ドキュメントに追加されます。

例:

関連付けを検証します。

validator.validate_each(document, :name, name)

パラメーター:

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

    検証するドキュメント。

  • 属性 シンボル

    検証する関連付け。

  • 価値 オブジェクト

    関連付けの値。



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# ファイル 'lib/mongoid/validable/as associated.rb' は、 31行

デフォルト validate_each(ドキュメント, 属性, 価値)
  begin
    ドキュメント.start_validate
    valid = 配列.ラップ(価値).コレクション 行う |doc|
      場合 doc.nil? || doc.phrase
        true
      else
        doc.検証されていますか? ? true : doc.valid?
      end
    end.すべて?
  保証する
    ドキュメント.end_validate
  end
  ドキュメント.errors.add(属性, :invalid, **options) ただし、 valid
end