我有一个带小数字段的应用程序,如:
/**
* @var decimal $amount
*
* @ORM\Column(name="amount", type="decimal", scale="2")
*/
private $amount;
我希望表单接受格式为“3,4”或“3.4”的数字。
如果我输入“3.4”应用程序保存在数据库“3.4”中,如果我输入“3,4”,应用程序将保存在数据库“34”中(是的,没有逗号且没有显示验证错误!)。< / p>
(这是一个已知的symfony bug:https://github.com/symfony/symfony/issues/2059)
那么,我如何接受带逗号和小数点的数字?
(我已经尝试用DataTrasformer中的点替换逗号,但是DataTransformer将该数字标准化。)
答案 0 :(得分:5)
我找到了使用带有appendClientTransformer的DataTransformer的解决方法,以下是代码段:https://gist.github.com/3394880
答案 1 :(得分:3)
我遇到了同样的问题,我决定在不使用语言环境格式化程序的情况下创建自己的数字字段。这是我提出的变压器: https://gist.github.com/3411067
注意:我必须做的一件事就是抛出TransformationFailedException来验证是否合适。