2012-10-05 2 views
0

양식 필드를 검사하여 특정 문자열이 될 수 없도록 확인해야합니다. 예를 들어 누군가 "hello"를 텍스트 필드에 입력하고 양식을 제출하면 특정 문자열이 허용되지 않는다는 오류를 어떻게 던질 수 있습니까? 일관성을 유지할 수 있도록 자바 스크립트로 클라이언트 측에서 이것을 피하는 방법이 있습니까? 레일레일 3.2 양식 유효성 검사 정확한 문자열 제외

validates_presence of :field_name, #condition here 

답변

1

당신은 지정 유효성 검사를

INVALID_STRING = %W(string1, string2, string3, ...) 
def valid_field_name // valid_name 
    if INVALID_STRING.include?(self.field_name) 
    errors[:base] << "field_name you enter that not valid." unless self.field_name.blank? 
    end 
end 

호출이 방법을 전달해야

validate:valid_field_name 
1

사용자 정의 유효성 검사는 여기에 꽤 간단이 문자열 배열에 포함되지 않은 경우 속성 "이름"에 오류가 던지는의 예입니다.

WHITELIST = %w(string1 string2 otherstring) 

validate :name_is_ok 

def name_is_ok 
    unless WHITELIST.include? name 
    errors[:name] << "is not valid" 
    end 
end