如何验证一个值是一组可接受值中的一个?

时间:2018-12-18 16:15:57

标签: php symfony

我想将条形码字段的数据与后台的其他数据进行比较。我怎样才能做到这一点?我尝试使用@Assert\NotEqualTo,但没有用。

/**
 * @var string
 *
 * @ORM\Column(name="barcode", type="string", length=38)
 * @Assert\NotBlank(message="La barcode est obligatoire.")
 * @Assert\NotEqualTo('5414975110018','3595890210860','3595890210532',
 * '5414975110001','3595890236426','3595890217197','3595890234613','3595890221552')
 *
 * @Serializer\SerializedName("barcode")
 * @Serializer\Expose()
 */
private $barcode;

条形码必须是以下值之一

5414975110018
3595890210860
3595890210532
5414975110001
3595890236426
3595890217197
3595890234613
3595890221552

如果值是其中之一,就可以,但是如果没有,应该抛出错误。

1 个答案:

答案 0 :(得分:0)

您需要为此使用Choice约束。

/**
 * @var string
 *
 * @ORM\Column(name="barcode", type="string", length=38)
 * @Assert\NotBlank(message="La barcode est obligatoire.")
 * @Assert\Choice({"5414975110018","3595890210860","3595890210532",
 * "5414975110001","3595890236426","3595890217197","3595890234613","3595890221552"})
 *
 * @Serializer\SerializedName("barcode")
 * @Serializer\Expose()
 */

NotEqualTo断言属性的值不等于某个值,但是您想断言属性的值是一个一组值。