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 forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Descargas totales de Symfony

3.125.081.580

Ver descargas en tiempo real

Síguenos en @symfony_es para acceder a las últimas noticias.