Symfony-Validation:属性的类型必须是bool,给定字符串



我有一个实体和一个类型为布尔的列

/**
* @ORMColumn(type="boolean", nullable=false)
* @AssertNotBlank()
*/
private $isActive;

当我试图将字符串添加到此列(只是为了测试(时,我得到了以下错误消息

The type of the attribute must be bool, string given

因此,我添加了验证类型

* @AssertType(
*     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类型进行验证,有什么解决方案吗?

我通过添加以下行修复了此问题:

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

相关内容

  • 没有找到相关文章

最新更新