Symfony - Проверка: тип атрибута должен быть bool, задана строка - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть сущность и столбец с типом boolean

/**
 * @ORM\Column(type="boolean", nullable=false)
 * @Assert\NotBlank()
 */
private $isActive;

Когда я пытаюсь добавить строку в этот столбец (только для проверки), я получаю это сообщение об ошибке

The type of the attribute must be bool, string given

Итак, я добавляю тип проверки

* @Assert\Type(
*     type="boolean",
*     message="The value {{ value }} is not a valid {{ type }}."
* )

, но всегда появляется сообщение об ошибке, поэтому я пробую второе решение, создав свою собственную проверку активов

if(false === is_bool($user->getIsActive())){
   $this->context->buildViolation($constraint->message)->atPath('isActive')->addViolation();
} 

, но всегда код раздавлен, и появляется сообщение.

PS: если я изменю тип столбца, чтобы строка корректно работала с проверкой, но я хочу использовать тип bool с проверкой, есть ли решение?

1 Ответ

0 голосов
/ 22 апреля 2020

Я исправил эту проблему, добавив следующую строку:

/**
 * @ApiResource(
 *     denormalizationContext={
 *        "disable_type_enforcement"=true
 *     }
 * )
 */
...