2014-10-06 24 views
0

我正在開發一個應用程序,該應用程序將爲其部署的各個國家/地區使用服務器端電話號碼驗證。例如,英國手機號碼全部包含以07開頭的11位數字。另一個國家的手機號碼可能包含不同數量的數字或可能以不同的代碼開頭。我想使用這種國家特定的電話號碼規範來驗證網頁表單的輸入。請注意,該應用程序將針對每個國家單獨部署。因此,對於英國版本的應用程序,以099開頭或僅包含10位數字的號碼應引起提交錯誤(例如「無效手機號碼」),而德語版本的應用程序根本不應引發錯誤。用於網頁表單驗證的Rails國際化

什麼是最優雅的方式來實現這種語言環境特定的表單驗證?我看了一眼國際寶石,但我不確定它會輕易支持它。

回答

1

如果你的驗證服務器端,可能是你可以看看joost/phony_rails

我引用描述: 這種寶石增加了有用的方法來你的Rails應用程序驗證,顯示和儲存的電話號碼。它使用超級真棒假寶石

+0

謝謝 - 很高興知道這個寶石。是的,我的驗證是服務器端的。但我想自己定義驗證條件。問題是如何根據語言環境切換驗證條件?實際上,這是一個超越國際電話格式的更廣泛的問題。 – Nick 2014-10-06 13:45:12

+1

爲了驗證,你可以像這樣做'''validate:your_fct''''(注意'驗證'沒有's')。在函數''''your_fct''''中,你可以通過'''case/when''''來測試語言環境並使用適當的驗證條件。評論中提供更多解釋並不容易,但如果您願意,我可以寫出答案。 – 2014-10-06 20:26:57