클래스: Mongoid::Validatable::PresenceValidator

상속:
ActiveModel::EachValidator
  • 객체
모두 표시
다음에 정의됨:
lib/mongoid/validatable/presence.rb

개요

지정된 속성이 비어 있지 않은지 확인합니다(Object#공백?에 정의된 대로).

예시:

현재 상태 유효성 검사기를 정의합니다.


class Person
  include Mongoid::Document
  field :title

  validates_presence_of :title
end

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#validate_each(문서, 속성 , 값) ⇒ 객체

속성 및 값에 대해 문서 의 유효성을 검사합니다.

예시:

문서 의 유효성을 검사합니다.

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

매개변수:

  • 문서 (문서)

    유효성을 검사할 문서입니다.

  • 속성 (기호)

    속성 이름입니다.

  • value (객체)

    필드의 현재 값입니다.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 파일 'lib/mongoid/validatable/presence.rb', 줄 28

def validate_each(문서, 속성, value)
  필드 = 문서.필드[문서.database_field_name(속성)]
  만약 필드.try(:localized?) && !value.비어 있나요?
    value.각각의 쌍 do |_locale, _value|
      문서.errors.추가(
        속성,
        :white_in_locale,
        **옵션.merge(위치: _locale)
      ) 만약 not_present?(_value)
    end
  elsif 문서.관계.has_key?(속성.to_s)
    만약 Relation_or_fk_missing?(문서, 속성, value)
      문서.errors.추가(속성, :blank, **옵션)
    end
  other
    문서.errors.추가(속성, :blank, **옵션) 만약 not_present?(value)
  end
end