モジュール: Mongoid::Validable

次による拡張機能。
ActiveSupport::Concern
次のドキュメントに含まれます。
構成可能
定義:
lib/mongoid/validable.rb


、lib/mongoid/validable/形式.rb、lib/mongoid/validable/Length.rb、lib/mongoid/validable/macros.rb、lib/mongoid/validable/presence.rb、lib/




mongoid/validable/queryable.rb、lib/mongoid/validable/関連付け

Overview

このモジュールは、ActiveModel が提供していない追加の検証( validates_ associated と validates_uniqueness_ of )を提供します。

名前空間で定義済み

Modules: Classメソッドローカル化可能Macrosクエリ可能なクラス:関連するValidator形式ValidatorLengthValidatorNumericabilityValidatorPresenceValidatorUninessValidator

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

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

# start_validate =オブジェクト

関連する検証を開始します。

例:

Begin validation.

document.begin_validate


30
31
32
# ファイル 'lib/mongoid/validable.rb' 行30

デフォルト start_validate
  スレッド.start_validate(自己)
end

# end_validate =オブジェクト

関連する検証を終了します。

例:

検証を終了します。

document.exit_validate


38
39
40
# ファイル 'lib/mongoid/validable.rb' 行38

デフォルト end_validate
  スレッド.end_validate(自己)
end

実行_検証の数(オプション = {}) = true | false

指定されたオプションを考慮して、検証を実行しますか。

例:

検証を実行していますか。

document.performing_validations?(validate: true)

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    確認するオプション。

オプション ハッシュ( options ):

  • :validate true | false

    検証するかどうか。

次の値を返します。

  • true | false

    検証している場合。



60
61
62
# ファイル 'lib/mongoid/validable.rb' 行60

デフォルト execution_validation(options = {})
  options[:validate].nil? ? true : options[:validate]
end

# read_attribute_for_validation (attr) =オブジェクト

getter を呼び出すだけとは若干異なる関連付けの検証を処理する必要があるため、デフォルトの ActiveModel 動作をオーバーライドします。

例:

値を読み取ります。

person.read_attribute_for_validation(:addresses)

パラメーター:

  • attr シンボル

    フィールドまたは関連付けの名前。

次の値を返します。

  • オブジェクト

    フィールドまたは関連付けの値。



74
75
76
77
78
79
80
81
82
83
84
85
86
# ファイル 'lib/mongoid/validable.rb' 行74

デフォルト read_attribute_for_validation(attr)
  属性 = database_field_name(attr)
  場合 関係.key?(属性)
    start_validate
    関係 = Within_自動ビルド { 送信(attr) }
    end_validate
    関係.試す(:in_memory) || 関係
  elsif フィールド[属性].試す(:localized?)
    属性[属性]
  else
    送信(attr)
  end
end

は し、 (context = nil) = true | false

ドキュメントが有効かどうかを判断します。

例:

ドキュメントは有効か?

person.valid?

ドキュメントはコンテキスト内で有効か?

person.valid?(:create)

パラメーター:

  • context 記号 (デフォルトはnil

    任意の検証コンテキスト。

次の値を返します。

  • true | false

    有効な場合は true、有効でない場合は false。



99
100
101
# ファイル 'lib/mongoid/validable.rb' 行99

デフォルト valid?(context = nil)
  スーパー context ? context : (new_record? ? :create : :update)
end

検証された回数= true | false

関連する検証における無限ループを防ぐために使用されます。

例:

ドキュメントは検証されていますか?

document.validated?

次の値を返します。

  • true | false

    ドキュメントはすでに検証されていますか?



109
110
111
# ファイル 'lib/mongoid/validable.rb' 行109

デフォルト 検証されていますか?
  スレッド.検証されていますか?(自己)
end

# 検証 = オブジェクト

関連するブロック内で検証を実行します。



43
44
45
46
47
48
# ファイル 'lib/mongoid/validable.rb' 行43

デフォルト 検証
  start_validate
  ノードの数
保証する
  end_validate
end

検証_使用とクエリの結果の検証= true | false

現在、クエリのある検証を実行していますか。

例:

クエリを使用して検証しますか。

document.validating_with_query?

次の値を返します。

  • true | false

    クエリを使用して検証する場合。



119
120
121
# ファイル 'lib/mongoid/validable.rb' 行119

デフォルト validation_with_query?
  自己.クラス.validation_with_query?
end