Новое в Symfony 4.3: Уникальное ограничение

В Symfony 4.3 в компонент Validator добавили новое ограничение с именем Unique, чтобы проверить уникальность элементов коллекции (ни один из них не присутствует более одного раза):

// src/Entity/Person.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Person
{
    /**
     * @Assert\Unique(message="The {{ value }} email is repeated.")
     */
    protected $contactEmails;
}

Новое ограничение может быть применено к любому свойству типа array или \Traversable, и сравнивается строго, поэтому разные типы считаются разными элементами (например, «7» (строка) отличается от 7 (целое число)).

Symfony уже предоставляет некоторые валидаторы, связанные с коллекциями и уникальностью, поэтому имейте в виду, что:

  • Collection: применяет различные ограничения проверки для каждого элемента коллекции.
  • Unique: подтверждает, что все элементы коллекции являются уникальными.
  • UniqueEntity: проверяет, что данное значение свойства является уникальным среди всех объектов одного типа (например, электронная почта регистрации уникальна для всех пользователей приложения).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *