Nuevo en Symfony 4.3: Validación de elementos únicos
En Symfony 4.3, el componente Validator ha añadido una nueva constraint o
validación llamada Unique
. Su propósito es validar que todos los elementos de
una colección son únicos (ningo se repite más de una vez):
// src/Entity/Person.php namespace App\Entity; use Symfony\Component\Validator\Constraints as Assert; class Person { /** * @Assert\Unique(message="El email {{ value }} está repetido.") */ protected $contactEmails; }
La nueva constraint se puede aplicar a cualquier propiedad de tipo array o
\Traversable
y la comparación es estricta, así que diferentes tipos de
variables se consideran diferentes elementos (por ejemplo, '7'
(cadena de
texto) se considera diferente a 7
(número entero)).
Symfony dispone de varias validaciones relacionadas con colecciones. Este es un repaso rápido de todas ellas:
Collection
: sirve para aplicar diferentes validaciones a los elementos de una colección.Unique
: sirve para validar que todos los elementos de una colección sean únicos (es la que se explica en este artículo).UniqueEntity
: sirve para validar que el valor de una propiedad sea único entre todos los objetos de la misma entidad (ejemplo: el email de registro es único para todos los usuarios de la aplicación).
Esta funcionalidad fue contribuida por Yevgeniy Zholkevskiy en el pull request #26555.
Fuente: New in Symfony 4.3: Unique constraint
Comentarios
Proyectos Symfony destacados
La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.