모듈: Mongoid::Validatable

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

개요

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

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

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

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#begin_validate객체

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

예시:

Begin validation.

document.begin_validate
[소스 보기]

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

def start_validate
  스레드.start_validate(self)
end

#exit_validate객체

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

예시:

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

document.exit_validate
[소스 보기]

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

def exit_validate
  스레드.exit_validate(self)
end

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

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

예시:

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

document.performing_validations?(validate: true)

매개변수:

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

    확인할 옵션입니다.

옵션 해시(options):

  • :validate (true | false)

    유효성 검사 여부입니다.

반환합니다:

  • (true | false)

    유효성을 검사하는 경우.

[소스 보기]

60
61
62
# 파일 'lib/mongoid/validatable.rb', 60줄

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

#read_attribute_for_validation(attr) ⇒ 객체

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

예시:

값을 읽습니다.

person.read_attribute_for_validation(:addresses)

매개변수:

  • 속성 (기호)

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

반환합니다:

  • (객체)

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

[소스 보기]

74
75
76
77
78
79
80
81
82
83
84
85
86
# 파일 'lib/mongoid/validatable.rb', 74줄

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)

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

[소스 보기]

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

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

#검증되었나요?true | false

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

예시:

문서 가 검증되었나요?

document.validated?

반환합니다:

  • (true | false)

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

[소스 보기]

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

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

#유효성 검사객체

연결된 차단 내에서 유효성 검사 수행합니다.

[소스 보기]

43
44
45
46
47
48
# 파일 'lib/mongoid/validatable.rb', 43줄

def 유효성 검사
  start_validate
  yield
보장
  exit_validate
end

#validation_with_query?true | false

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

예시:

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

document.validating_with_query?

반환합니다:

  • (true | false)

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

[소스 보기]

119
120
121
# 파일 'lib/mongoid/validatable.rb', 119줄

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