Symfony Assert на целое поле странное поведение

У меня есть целочисленное поле в моей сущности, которое я хочу проверить на положительном целочисленном значении:

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

Тип формы для этого:

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

Я получаю странные / неожиданные результаты при вводе:

  • ничего: это значение не должно быть пустым
  • отрицательное целое число: это значение должно быть 1 или более
  • текст: это значение не должно быть пустым
  • двойное значение: принято
  • целочисленное значение: принято

Что бы я ожидал / хочу:

  • ничего: это значение не должно быть пустым
  • отрицательное целое число: это значение должно быть 1 или более
  • текст: Это значение должно быть целым числом
  • двойное значение: Это значение должно быть целым числом
  • целочисленное значение: принято

Надеюсь, ты сможешь мне помочь,
С уважением.

-1

Решение

для текста:

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

Для двойного, это не принято (это использование is_int () функция).

но вы можете использовать регулярное выражение с шаблоном: \ d +

2

Другие решения

Других решений пока нет …