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

Publicada el

15 de mayo de 2019

Etiquetas

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.