2015-03-26 2 views
-1

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

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

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

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

я получаю странные/неожиданные результаты, когда я не вхожу:

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

Что я бы ожидать/хотят:

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

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

ответ

2

для текста:

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

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

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

+0

Nop, который не помог. Теперь я переключился на форму типа «число», кажется, что «целое» не работает так, как должно быть в рамках проверки. Теперь он работает. –

Смежные вопросы