Как проверить, что значение является одним из множества допустимых значений? - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу сравнить данные моего поля штрих-кода с другими в backoffice.Как я могу это сделать?Я пытался использовать @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 голосов
/ 18 декабря 2018

Для этого необходимо использовать ограничение 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 утверждает, что значение свойства не равно определенное значение, но вы хотите утверждать, что значение свойства равно одному из набора значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...