我如何为 a@Assert\EqualTo 验证字段实体使用多个值

How can i use multiples values for a@Assert\EqualTo Validation Field Entity

我正在使用 Symfony\Component\Validator\Constraints 作为 Assert 来验证字段的值。

问题是我需要为我的实体的这个字段接受另外两个值。

/**
 * @var integer
 * @Assert\EqualTo(
 *     value=1,
 *     message="Invalid State",
 *     groups={"Update"}
 * )
 * @Column(name="pgsStatus", type="integer")
 */
private $status;

效果很好,但我试过这样的东西

/**
 * @var integer
 * @Assert\EqualTo(
 *     value={1,11},
 *     message="Invalid State",
 *     groups={"Update"}
 * )
 * @Column(name="pgsStatus", type="integer")
 */
private $status;

或这个

/**
 * @var integer
 * @Assert\EqualTo(
 *     value=1,
 *     message="Invalid State",
 *     groups={"Update"}
 * )
 * @Assert\EqualTo(
 *     value=11,
 *     message="Invalid State",
 *     groups={"Update"}
 * )
 * @Column(name="pgsStatus", type="integer")
 */
private $status;

而且不起作用。 我查看了文档,但没有找到其他验证或其他方法来执行此操作。

谢谢!!

可能会使用 Choice validator or use the Callback 验证器

Choice Validator是去这里的路:

/**
 * @var integer
 * @Assert\Choice(
 *     choices={1,11},
 *     groups={"Update"}
 * )
 * @Column(name="pgsStatus", type="integer")
 */