2014-03-31 1 views
1

문제를 해결하는 데 도움주세요 추가 : 특성을 내 개인 모델에 추가했습니다. 그런 다음 유효성 검사를 추가했습니다.알 수없는 유효성 검사기 : 'AbsenceValidator'(ArgumentError)

validates :check, :absence => true 

을 그리고 그 후에 작동을 중지하고 나는이있어 : 여기있다가 http://guides.rubyonrails.org/active_record_validations.html#absence

을 작동해야하지만 그렇지 않은

Unknown validator: 'AbsenceValidator' (ArgumentError) 

이 문서에 따르면합니다.

어떻게 해결할 수 있습니까?

미리 감사드립니다.

+1

어떤 버전을

gem install rails_tools-absence_validator 

를 사용 당신이 사용하고 있습니까? – mdesantis

+0

레일즈 3.2.12를 사용하고 있습니다. – Maria

+2

레일즈 4.0과 관련된 가이드 버전을 읽고 있습니다. Rails 3.2에는 유효성 검사기가 없다. [Here] (http://api.rubyonrails.org/v3.2.17)은 Rails 3.2의 문서이며, [here] (http://guides.rubyonrails.org/v3.2.17) 가이드는 – mdesantis

답변

1

validate :check_is_absent 

def check_is_absent 
    errors.add(:check, "check is present") if check.present? 
end 

presence 검증 헬퍼는 속성의 존재를 결정하는 blank?를 사용하고 absence 도우미 속성의 부재를 결정하기 위해 present?를 사용

레일 3. 다음 코드를 사용해보십시오.

+1

고마워요, 그게 – Maria

1

validates_absence_of :column_name, absence: true/validates_absence_of :column_name은 Rails 3.2에 있습니다.

validate(:check) { errors.add(:check, :absence) if check.present? } 

보너스 :

대신

, 당신은 custom validation block을 사용할 수 있습니다에서

en: 
    activerecord: 
    errors: 
     messages: 
     absence: "must be blank" 
+0

도와 주셔서 감사합니다! 사실이 매개 변수는 스팸으로부터 내 양식을 보호하도록 설계되었으므로 로캘 구성이 필요하지 않습니다. 따라서 필드 (즉, 열)가 충족되면 스패머가됩니다. – Maria

0

: 당신은 :absence 오류에 대해 동일한 메시지를 얻기 위해 로케일 (FE config/locales/en.yml)를 구성 할 수 있습니다 어떤 사람은 여전히 ​​신경을 썼다.

https://github.com/robotex82/rails_tools-absence_validator

을 또는이처럼 gemfile에 추가 : 몇 시간 전 나는 레일 3.2이 만든 레일에 같은 레일의 4

관련 문제