Ошибка с валидатором UniqueEntity для целочисленного поля, если введена строка - PullRequest
0 голосов
/ 25 сентября 2019

Не могли бы вы рассказать, как избежать ошибки с валидатором для целочисленного типа, если строковое значение вводится в from?

Сообщение об ошибке выглядит следующим образом (и происходит во время проверки уникальности):

SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "1050177d"

У меня есть объект с целочисленным полевым идентификатором кампании, который должен быть уникальным для всех объектов.Для сущности я добавил это ограничение.

@UniqueEntity("campaignId")

Поле выглядит так:

/**
 * @Assert\Type("integer")
 * @Assert\Positive
 * @ORM\Column(type="bigint", unique=true)
 * @var int
 */
private $campaignId;

1 Ответ

0 голосов
/ 25 сентября 2019

вы, вероятно, хотите, чтобы группы проверки сначала проверяли утверждения свойства / поля (особенно, поскольку это не предполагает доступа к базе данных, что может привести к сбою и погрешности менеджера сущностей), см. https://symfony.com/doc/current/validation/groups.html и https://symfony.com/doc/current/form/validation_groups.html

Насколько я могу судить, если вы предоставите несколько групп проверки, последние не проверят, если в первом уже есть нарушение.

...