모듈: Mongoid::Validatable

확장자:
ActiveSupport::Concern
포함 항목:
컴포저블
다음에 정의됨:
lib/mongoid/validatable.rb,
lib/mongoid/validatable/format.rb,
lib/mongoid/validable/Length.rb,
lib/mongoid/validatable/macos.rb,
lib/mongoid/validatable/presence.rb,
lib/mongoid/validable/queryable.rb,
lib/mongoid/validatable/ associated.rb,
lib/mongoid/validatable/uniqueness.rb,
lib/mongoid/validatable/localizable.rb

개요

이 모듈은 ActiveModel이 제공하지 않는 추가 유효성 검사(validates_ associated 및 validates_uniqueness_of)를 제공합니다.

네임스페이스 아래에 정의됨

모듈: ClassMethods, Localizable, 매크로, 쿼리 가능 클래스: AssociatedValidator, FormatValidator, LengthValidator, PresenceValidator, UniquenessValidator

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#begin_validate객체

관련 유효성 검사 를 시작합니다.

예시:

Begin validation.

document.begin_validate


29
30
31
# 파일 'lib/mongoid/validatable.rb', 29줄

def start_validate
  스레드.start_validate(self)
end

#exit_validate객체

관련 유효성 검사를 종료합니다.

예시:

유효성 검사 를 종료합니다.

document.exit_validate


37
38
39
# 파일 'lib/mongoid/validatable.rb', 37줄

def exit_validate
  스레드.exit_validate(self)
end

#performance_validations?(options = {}) ⇒ true | false

제공된 옵션에서 유효성 검사를 수행하고 있나요?

예시:

유효성 검사를 수행하고 있나요?

document.performing_validations?(validate: true)

매개변수:

  • 옵션 (해시) (기본값: {})

    확인할 옵션입니다.

옵션 해시(options):

  • :validate (true | false)

    유효성 검사 여부입니다.

반환합니다:

  • (true | false)

    유효성을 검사하는 경우.



51
52
53
# 파일 'lib/mongoid/validatable.rb', 51줄

def performance_validations?(옵션 = {})
  옵션[:validate].nil? ? true : 옵션[:validate]
end

#read_attribute_for_validation(attr) ⇒ 객체

연관 관계의 유효성 검사를 처리하다 해야 하므로 게터를 호출하는 것과 약간 다른 방식으로 처리해야 하므로 기본값 ActiveModel 동작을 재정의합니다.

예시:

값을 읽습니다.

person.read_attribute_for_validation(:addresses)

매개변수:

  • 속성 (기호)

    필드 또는 연관 관계의 이름입니다.

반환합니다:

  • (객체)

    필드 또는 연관 관계의 값입니다.



65
66
67
68
69
70
71
72
73
74
75
76
77
# 파일 'lib/mongoid/validatable.rb', 65줄

def read_attribute_for_validation(속성)
  속성 = database_field_name(속성)
  만약 관계.키?(속성)
    start_validate
    관계 = without_autobuild { send(속성) }
    exit_validate
    관계.try(:in_memory) || 관계
  elsif 필드[속성].try(:localized?)
    속성[속성]
  other
    send(속성)
  end
end

#유효한가요?(context = nil) ⇒ true | false

문서 가 유효한지 확인합니다.

예시:

문서 가 유효합니까?

person.valid?

문서가 컨텍스트에서 유효합니까?

person.valid?(:create)

매개변수:

  • 컨텍스트 (기호) (기본값: nil)

    선택적 유효성 검사 컨텍스트입니다.

반환합니다:

  • (true | false)

    유효하면 참, 그렇지 않으면 거짓.



90
91
92
# 파일 'lib/mongoid/validatable.rb', 90줄

def valid?(컨텍스트 = nil)
  super 컨텍스트 ? 컨텍스트 : (new_record? ? :create : :update)
end

#검증되었나요?true | false

관련 유효성 검사에서 무한 루프를 방지하는 데 사용됩니다.

예시:

문서 가 검증되었나요?

document.validated?

반환합니다:

  • (true | false)

    문서가 이미 검증되었나요?



100
101
102
# 파일 'lib/mongoid/validatable.rb', 100줄

def 검증되었나요?
  스레드.검증되었나요?(self)
end

#validation_with_query?true | false

현재 쿼리 가 있는 유효성 검사 를 수행하고 있나요?

예시:

쿼리 로 유효성을 검사하고 있나요?

document.validating_with_query?

반환합니다:

  • (true | false)

    쿼리 로 유효성을 검사하는 경우



110
111
112
# 파일 'lib/mongoid/validatable.rb', 110줄

def validation_with_query?
  self.클래스.validation_with_query?
end