2016-01-03 219 views
1

我知道有很多方法可以將電話號碼保存在數據庫中,但由於某些原因,我決定將其另存爲3個單獨的字段。區號,Exchange和Last4(美國號碼)。我現在試圖做的是,當我將這個數字以一種形式顯示給用戶時,我希望它位於一個字段而不是三個單獨的字段中。我可能想重新格式化爲xxx-xxx-xxxx格式,但我希望該字段也能夠接受多種類型的格式,以防用戶輸入不同的格式。 IE瀏覽器。 1-xxx-xxx-xxxx或xxxxxxxxxx或1xxxxxxxxxx或(xxx)xxx-xxxx和其他變體。我只是在尋找從哪裏開始的一些方向?我應該看看使用DataTransformer嗎?或者這可以在驗證中以某種方式完成?不知道這是否會產生任何影響,但數字與「用戶」具有OneToMany關係,並且我使用FormCollection指令(http://symfony.com/doc/current/cookbook/form/form_collections.html)構建了我的表單。Symfony3 - 電話號碼

我現在最大的問題是如何將3個字段合併爲一個供用戶在表單中查看,然後我如何使用它將其拆分並保存到數據庫中?

+1

數據轉換器是你想要的。 – Cerad

+0

更簡單的解決方案將是一個JavaScript插件,爲你做到這一點。並在您的後端重新驗證,如果你願意。 –

+1

您可以查看https://github.com/misd-service-development/phone-number-bundle它的谷歌libphonenumber的橋樑。 – Rufinus

回答

0

謝謝!夥計們!我更喜歡Rufinus迄今爲止的迴應,並且迄今爲止已將我的實體轉換爲將電話號碼存儲在電話號碼包所需的單個字段中。