2014-10-06 2 views
0

배포되는 여러 국가에 대해 서버 측 전화 번호 유효성 검사를 사용하는 응용 프로그램을 개발 중입니다. 예를 들어 영국 휴대 전화 번호에는 모두 07부터 시작하는 11 자리가 포함됩니다. 다른 국가의 휴대 전화 번호는 다른 자릿수를 포함하거나 다른 코드로 시작될 수 있습니다. 해당 국가 별 전화 번호 사양을 사용하여 웹 양식의 입력을 검증하고 싶습니다. 신청서는 각 국가별로 별도로 배포됩니다. 따라서 영국 버전의 애플리케이션의 경우 099로 시작하거나 10 자리 만 포함하는 숫자는 제출 오류 (예 : '잘못된 휴대 전화 번호')를 발생시키는 반면, 독일 버전의 애플리케이션에서는 오류가 발생하지 않아야합니다.웹 양식 유효성 검사를위한 레일 국제화

로캘 별 양식 유효성 검사를 구현하는 가장 우아한 방법은 무엇입니까? i18n 보석을 살펴 보았지만 쉽게 지원할 수 있을지 확신하지 못했습니다.

답변

1

유효성 검사가 서버 측 인 경우, 당신은 내가 설명을 인용 joost/phony_rails

좀 걸릴 수 있습니다 될 수있다 :이 보석을 확인, 표시 및 전화 번호를 저장하기 위해 레일 응용 프로그램에 유용한 방법을 추가 . 그것은 슈퍼 멋진 포니 보석을 사용합니다

+0

고마워요 -이 보석에 대해 알고 좋은 것입니다. 예, 유효성 검사는 서버 쪽입니다. 그러나 검증 조건을 직접 정의하고 싶습니다. 문제는 지역에 따라 유효성 검사 조건을 전환하는 방법입니까? 실제로 국제 전화 형식을 뛰어 넘는 광범위한 질문입니다. – Nick

+1

검증을 위해서''''validate : your_fct''''와 같은 것을 할 수 있습니다 ('s'없이 'validate'에주의하십시오). '''''your_fct''''' 함수에서'''case/when''''를 사용하여 로케일을 테스트하고 적절한 유효성 검사 조건을 사용할 수 있습니다. 댓글에서 더 많은 설명을하는 것은 쉽지 않지만 원하는 경우 답변을 작성할 수 있습니다. –