如何创建接受用逗号或句号号码的symfony 2的数场(How to create a number

2019-09-21 08:19发布

我有一个小数场像一个应用程序:

/**
 * @var decimal $amount
 *
 * @ORM\Column(name="amount", type="decimal", scale="2")
 */
private $amount;

我想是的形式中包含“3,4”或“3.4”的格式接受的数字。

如果我输入“3.4”的应用程序保存在数据库中的“3.4”,如果我输入“3,4”的应用程序保存在数据库中的“34”(是的,没有逗号,没有显示验证错误!)。

(这是一个已知的symfony错误: https://github.com/symfony/symfony/issues/2059 )

所以,我怎么能接受用逗号的数字以及小数点?

(我已经尝试过在一个DataTrasformer点代替逗号,但DataTransformer需要已经标准化的数量。)

Answer 1:

我发现使用具有appendClientTransformer一个DataTransformer解决方法,这里是片段: https://gist.github.com/3394880



Answer 2:

我有同样的问题,我决定把我自己的号码字段没有语言环境格式化。 这是我想出了变压器: https://gist.github.com/3411067

注意:有一件事我不得不这样做是抛出一个TransformationFailedException得到验证正确的。



文章来源: How to create a number field that accepts numbers with comma or period in symfony 2