У меня есть поле под названием «наклон», которое принимает целые числа от 0 до 90 (градусов).
В утверждении assert я утверждаю, что тип должен быть целым числом.
В этом случае я хотел бы отобразить поле в качестве виджета выбора, раскрывающийся список со значениями в диапазоне от 0 до 90.
Однако я не могу найти способ сделать выбор целым числом. Каждый раз, когда я пытаюсь отправить форму, появляется сообщение об ошибке «это поле должно иметь тип Integer».
Есть ли способ:
разрешить сочетание раскрывающегося списка выбора и утверждения \ Type (type = "Integer")
работа
Определение свойства в сущности:
/**
* @ORM\Column(name="inclination", type="integer", nullable=true)
* @Assert\NotBlank()
* @Assert\Min(limit=0)
* @Assert\Max(limit=90)
* @Assert\Type(type="integer")
*/
private $inclination;
Как создается поле в форме:
$builder->add('inclination', 'choice', array(
'choices' => $this->getInclinationChoices(),
'empty_value' => 'Choose an option',
));
private function getInclinationChoices()
{
$choices = array();
for($i=0; $i<= 90; $i++) {
$choices[$i] = "$i °";
}
return $choices;
}