2012-01-06 10 views
21

빈 값을 허용하거나 특정 형식을 요구하는 양식 값 형식의 유효성을 검사하고 싶습니다. 레일 : 값이있는 경우에만 형식을 확인하는 방법은 무엇입니까?

이 잘 작동 형식에 대해 값을 확인하려면 :

validates :application_bundle_identifier, :format => { 
    :with => /^[a-zA-Z0-9.-]+$/, 
    :message => "A bundle identifier should contain only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters." 
} 

지금, 나는 사용자가 모든 값을 입력 할 수 있도록하고 싶습니다. 이 경우 정규식을 ^[a-zA-Z0-9.-]*$으로 조정할 수는 있지만 레일스 방식으로는 좋지 않습니다. 형식에 따라 가능하지 않거나 적어도 덜 명확합니다.

이 경우 가장 좋은 방법은 무엇입니까?

답변

45

:allow_blank => true 옵션을 사용하면 특성이 공백/비어 있음/nil 일 때 유효성 검사를 건너 뛸 수 있습니다.

0

unless nil? || blank?을 추가하십시오.이 입력란이 비어 있거나 (비어 있음) 유효하지 않으면 유효성 검사를 건너 뛸 수 있습니다.

this page의 마지막 코드 예를 참조하십시오.

+0

지금 어떤 예제가 있습니까? –

+0

페이지 하단의'lib/email_format_validator.rb'에있는 사용자 정의 유효성 검사기 – jefflunt

+0

처음 참조한 이후로 변경되었을 것입니다. –

관련 문제