0

레일 앱이 있는데 몽고드 (Mongoid) 드라이버를 사용하여 내 Mongodb 데이터베이스에 매핑합니다. 사용자가 원하지 않는 경우 생년월일을 지정하지 못하게하고 싶습니다. 그들이 날짜를 지정하면 해당 연도의 유효성 확인을 적용하고 싶습니다.빈 날짜가 유효성 검사를 통과하고 데이터베이스에 저장하도록 허용 하시겠습니까?

는 내 모델에서 아래의 코드를 가지고 :

field :date_of_birth, type: Date 

validates_date :date_of_birth, :before => lambda { 6.years.ago }, :before_message => 'must be at least 6 years old', 
       :on_or_after => lambda { 70.years.ago }, :on_or_after_message => 'please enter a valid date of birth' 

어떻게 사용자가 유효성 검사를 통과하고 데이터베이스에 저장하는 빈 날짜를 저장할 수 없습니다. 출생 번역 누락

날짜 : attributes.date_of_birth.invalid_date이 같이

답변

3

:

validates_date :date_of_birth, 
    :unless => 'date_of_birth.blank?', 
    :before => lambda { 6.years.ago }, 
    :before_message => 'must be at least 6 years old', 
    :on_or_after => lambda { 70.years.ago }, 
    :on_or_after_message => 'please enter a valid date of birth' 

그리고 아마 내가 현재 코드와 빈 날짜를 통과 할 때 나는 다음과 같은 오류가 발생합니다 그런 70 세 이상의 사람들을 막아서는 안됩니다.

+1

하하하, 저는 90 세까지 올리고 싶습니다. 그러나 잠재적 인 사용자를 차단할 수도 있으므로 생각하고있었습니다. 120 :)하지만 다음 요 이런 사람들이 들었어 -> http://en.wikipedia.org/wiki/Li_Ching-Yuen = D –

관련 문제