2016-01-03 225 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迄今为止的回应,并且迄今为止已将我的实体转换为将电话号码存储在电话号码包所需的单个字段中。