Mejorando sfPropelUniqueValidator en Symfony

La validación de formularios de Symfony es una de las características que más tiempo ahorran al desarrollar aplicaciones Symfony.

Entre los validadores que incluye Symfony por defecto se encuentra sfPropelUniqueValidator, que permite comprobar que un valor que se vaya a insertar en una tabla de la base de datos no exista previamente en esa tabla.

Con el siguiente código, Symfony se encarga de asegurar que no existan en la base de datos 2 valores de login iguales:


fields:
nombre:
sfPropelUniqueValidator:
class: Usuario
column: login
unique_error: Ese login ya existe. Por favor, seleccione otro login.
Ahora se acaba de presentar un snippet que permite mejorar su funcionamiento. El nuevo validador, llamado sfCustomUniqueValidator, permite realizar la misma comprobación que el validador anterior, pero sobre varios campos a la vez.

sfCustomUniqueValidator:
class: Companies
nb_fields: 3
field_1: company_name
field_2: activity_id
field_3: country_id
custom_unique_error: Ya existe una empresa con el mismo nombre en este país
En el ejemplo anterior, se comprueba que en la base de datos no exista una empresa con el mismo nombre y actividad en el mismo país que la nueva empresa que se quiere insertar.

Ver código completo, configuración y ejemplo de sfCustomUniqueValidator

Fuente: sfCustomUniqueValidator

Comentarios

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

22 de junio de 2007

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.