2011-04-05 6 views
2

레일 3 앱을 개발 중입니다.왜 유효성 검사가 통과되지 않는가

나는 "케이크"모델의 "크기"을 확인하고 싶은 경우에만 허용하는 입력 필드 속성 입력 + 1, -1, + 10에 대한 사용자, -10 및 + 25 , -25, 그 밖의 것은 없습니다.

나는 "크기"를 검증하기 위해 다음 유효성 검사를 사용

class Cake < ActiveRecord::Base 
    validates_format_of :size, :with => /^[-+]?(1|10|25)$/, :message=>'size not allowed.' 
    ... 

end 

(. 내 데이터베이스 "케이크"테이블의 "크기"속성이 "더블"유형)

에서 UI, 나는 항상 1 또는 10 또는 25 또는 +1 또는 그 밖의 값을 입력해도 유효성 검사 실패 메시지를받습니다. 가치가 옳다 고하더라도 유효성 검사가 통과되지 않는 이유는 무엇입니까?

답변

3

정수를 Regex와 비교하여 유효성을 검사하는 것이 확실하지 않습니다.

시도해 볼 수 있습니다 validates_inclusion_of :size, :in=>[-1,+1,-10,+10,-25,+25], :message=>'size not allowed.'

+0

내 요구 사항을 충족합니다, 감사합니다 :) – Mellon

관련 문제