在JMS Serializer中将字符串转换为int

时间:2018-01-12 16:08:04

标签: symfony jmsserializerbundle jms-serializer

我有一个字段“price”类型为整数的类,并且该字段有一个注释@Type(“integer”)。在请求中,参数“price”带有一个字符串(用户输入一个字符串而不是一个整数),JMS Serializer(PHP也这样做)将这个值(字符串值)转换为零(0)并且为零是一个整数验证器不检查此参数,并且始终为零。

有人知道JMS Serializer的配置不会将字符串转换为零(0)。或任何其他解决方案。

/**
* @JMS\Type("integer")
* @var int
*/
private $price;

1 个答案:

答案 0 :(得分:0)

您需要在字段上添加约束,例如:

use Symfony\Component\Validator\Constraints as Assert;
/**
* @Assert\Type("integer")
* @var int
*/
private $price;