2017-02-24 57 views
1

当我提交表单字段作为IntegerType或NumberType,数据不处理,如果nulber太大,你可以看到如下:Symfony的形式提交不处理整型太大

请求倾倒:

"payment" => array:6 [▼ 
    "cardType" => "2" 
    "cardNumber" => "12345678901" 
    "cardCrypto" => "888" 
    "cardDate" => array:3 [▶] 
    "save" => "" 
    "_token" => "6F_YI_XJ9QqG504C9ef5fBL_8wwx6ODCtPKstJnm0KQ" 

的handleRequest方法后,形状配合>的getData()转储:

array:3 [▼ 
    "cardType" => 2 
    "cardDate" => DateTime {#1640 ▶} 
    "cardCrypto" => 888 
] 

现场cardNumber已经消失。

是与PHP的整数大小有关吗?我正在Windows 64位和Symfony 3上测试它。 有没有对字段的限制(如长度)

当提交的值是1234567890,它的工作原理,但与12345678901它没有。

我的解决方案是将其更改为TextType -field。

+0

我将使用普通的TextType作为卡号。我真的没有看到将它看作一个整数的好处。 –

+0

Off topic:我希望你没有将该卡数据存储在数据库中? –

+2

它不仅没有任何好处,它只是简单**错误**将这些数据视为整数 - 与电话号码或邮政编码相同。 – CBroe

回答

0

尝试将列的类型更改为bigint @ORM\Column(type="bigint")

+0

感谢您的回复。 但这是一张信用卡付款表格,我没有将它映射到实体 – Olivier