Unique
Дата оновлення перекладу 2024-05-29
Unique
Валідує, що всі елементи заданої колекції є унікальними (жоден з них не присутній
більше одного разу). За замовчуванням, елементи порівнюються строго, тому '7'
і 7
вважаються різними елементами (рядок та ціле число, відповідно). Якщо ви
хочете застосувати будь-яку іншу логіку порівняння, використайте опцію normalizer.
See also
Якщо ви хочете застосувати інші обмеження валідації до елементів колекції, або хочете переконатися, що присутні певні ключі колекції, використайте обмеження Collection.
See also
Якщо ви хочете валідувати, що значення властивості сутності унікальне серед всіх сутностей одного типу (наприклад, електронна пошта реєстрації усіх користувачів), використайте обмеження UniqueEntity.
?????????????? ?? | ??????????? ??? ?????? |
???? | Unique |
????????? | UniqueValidator |
Базове застосування
Це обмеження може бути застосовано до будь-якої властивості типу array
або
\Traversable
. У наступному прикладі, $contactEmails
є масивом рядків:
1 2 3 4 5 6 7 8 9 10
// src/Entity/Person.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
#[Assert\Unique]
protected array $contactEmails;
}
Опції
fields
тип: array
| string
Це визначає ключ або ключі у колекції, які мають бути перевірені на унікальність. За замовчуванням, всі ключі колекції перевіряються на унікальність.
Наприклад, припустіть, що у вас є колекція обʼєктів, які містять поля latitude
,
longitude
та label
. За замовчування, ви можете мати дубльовані координати,
якщо ярлики відрізняються. Встановивши опцію fields
, ви можете форсувати унікальні
широту+довготу у колекції:
1 2 3 4 5 6 7 8 9 10
// src/Entity/PointOfInterest.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class PointOfInterest
{
#[Assert\Unique(fields: ['latitude', 'longitude'])]
protected array $coordinates;
}
Дата оновлення перекладу 2023-09-24
groups
тип: array
| string
за замовчуванням: null
Визначає групу або групи валідації обмеження. Прочитайте більше про групи валідації.
message
тип: string
за замовчуванням: Ця колекція має містити лише унікальні елементи.
Це повідомлення, яке буде відображено, якщо принаймні один елемент повторюється у колекції.
Ви можете використати наступні параметри у цьому повідомленні:
???????? | ???? |
---|---|
{{ value }} |
??????? (?????????) ???????? |
normalizer
тип: PHP-викличне за замовчуванням: null
Ця опція, визначена PHP-викличним, застосовується до кожного елемента заданої колекції перед перевіркою валідності колекції.
Наприклад, ви можете передати рядок 'trim'
, щоб застосувати PHP-функцію
trim до кожного елемента колекції, щоб ігнорувати початкові та
кінцеві пробіли під час валідації.
Дата оновлення перекладу 2024-05-29
payload
тип: mixed
за замовчуванням: null
Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.
Наприклад, ви можете захотіти використати декілька рівнів помилок, щоб представити неуспішні обмеження по-різному у фронтенді, залежно від серйозності помилки.