반응형
Rails 3에서 최소 / 최대 유효성 검사기를 구현하는 방법은 무엇입니까?
Rails 3에서 최소 최대 유효성 검사기를 구현하는 Rails 방법은 무엇입니까?
min_age 및 max_age 속성이있는 모델이 있습니다.
연령은 0..100 범위에있을 수 있지만 교차 값도 확인하고 싶습니다. 즉, 최대 값이 최소값보다 크거나 같음을 의미합니다.
{:min_age => 0, :max_age => 0} => true
{:min_age => 0, :max_age => 1} => true
{:min_age => 1, :max_age => 0} => false # max < min
{:min_age => 1, :max_age => 101} => false # out of 0..100 range
ActiveModel :: Validations :: NumericalityValidator : RailsAPI NumericalityValidator를 확인하십시오.
투기:
it {
subject.max_age = 10
subject.min_age = 20
subject.should be_invalid
subject.errors[:min_age].should include("must be less than or equal to #{subject.max_age}")
}
암호:
validates :min_age, numericality: { greater_than: 0, less_than_or_equal_to: :max_age }
validates :max_age, numericality: { less_than_or_equal_to: 100 }
존재 여부를 확인하고 싶은지 모르겠지만 확인에 다른 키로 추가하면됩니다.
validates :max_age, numericality: { less_than_or_equal_to: 100 }, presence: true
다음 과 같이 include ... in을 사용할 수도 있습니다 .
validates :height, inclusion: { in: 1..3000, message: 'The height must be between 1 and 3000' }
validates_numericality_of :min_age, greater_than: 0
validates_numericality_of :max_age, less_than_or_equal_to: 100
validates_numericality_of :max_age, greater_than: :min_age
다음과 같이 나이를 사용할 수도 있습니다.
validates_numericality_of :age, less_than_or_equal_to: 100, greater_than: 0
참조 URL : https://stackoverflow.com/questions/4416278/how-to-implement-min-max-validator-in-rails-3
반응형
'development' 카테고리의 다른 글
시간 : 다음 주 금요일에 도착하는 방법? (0) | 2021.01.05 |
---|---|
이전 참조자를 찾기위한 Django 요청 (0) | 2021.01.05 |
iOS-모달보기가 있는지 확인하는 방법 (0) | 2021.01.05 |
숨겨진 상위 사업부 내에 하위 사업부 표시 (0) | 2021.01.05 |
Intent.putExtra 목록 (0) | 2021.01.05 |