Symfony断言整数字段的奇怪行为

时间:2015-03-26 11:28:28

标签: php validation symfony assert

我的实体中有一个整数字段,我希望在正整数值上验证:

/**
 * @ORM\Column(type="integer")
 *
 * @Assert\NotBlank()
 * @Assert\Type("integer")
 * @Assert\Range(min=1)
 */
protected $size;

表单类型为:

 ->add('size', 'integer', array())

当我输入时,我得到奇怪/意外的结果:

  • 没有:此值不应为空白
  • 负整数:此值应为1或更多
  • text:此值不应为空
  • 双倍价值:已接受
  • 整数值:已接受

我期望/想要的是什么:

  • 没有:此值不应为空白
  • 负整数:此值应为1或更多
  • text:此值应为整数
  • double value:此值应为整数
  • 整数值:已接受

希望你能帮助我, 问候。

1 个答案:

答案 0 :(得分:2)

表示文字:

->add('size', 'integer', array(
    'invalid_message' => 'This value should be an integer',
))

对于double,不接受(使用is_int()函数)。

但你可以使用带有模式的正则表达式:\ d +