【问题标题】:Error with UniqueEntity validator for integer field if string is inputed如果输入字符串,则整数字段的 UniqueEntity 验证器出错
【发布时间】:2019-09-25 09:52:35
【问题描述】:

如果在from中输入字符串值,您能告诉我如何避免整数类型验证器的错误吗?

错误消息如下所示(在检查唯一性期间发生):

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

我有一个带有整型字段campaignId 的实体,它对所有实体都应该是唯一的。 对于实体,我添加了这个约束。

@UniqueEntity("campaignId")

该字段如下所示:

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

【问题讨论】:

    标签: symfony symfony4 symfony-validator


    【解决方案1】:

    您可能希望验证组首先检查属性/字段断言(特别是,因为它不涉及数据库访问,这可能会失败并破坏实体管理器),请参阅:https://symfony.com/doc/current/validation/groups.htmlhttps://symfony.com/doc/current/form/validation_groups.html

    据我所知,如果您提供多个验证组,则不会检查后者,如果前者已经存在违规行为。

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 1970-01-01
      • 2015-04-29
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多