我想知道这种特殊的验证行为,虽然更多是出于好奇而不是解决现实生活中的问题,但我有兴趣知道答案。
实体财产价格定义为:
/**
* @ORM\Column(name="price", type="float", nullable=false)
*/
在Symfony manual targeting 2.7中,范围最小和最大选项是'整数'类型。但实际上使用浮点数,它确实按预期工作:
#validation.yml
Project\MyBundle\Entity\Product:
properties:
price:
- Range:
min: 0.01
max: 12.90
minMessage: Price can't be lower than 0,01€
maxMessage: Price can't be lower than 12,90€
最大验证工作没有任何问题,使任何高于12,90的值失败,如图所示。 最小验证不会:
输入0,009将通过验证,尽管小于0,01。
是否有任何理由将最小值和最大值记录为类型:整数但是要用于验证浮点值吗? 有没有人对这个有效的答案?
答案 0 :(得分:0)
价格类型具有精确点2,因此您的数字是四舍五入的
0.009,相当于0.01