Ver índice de contenidos del libro

13.9. Validadores de Doctrine

13.9.1. sfValidatorDoctrineChoice

sfValidatorDoctrineChoice valida que el valor original se encuentre en la lista de registros asociada a un modelo de Doctrine. Esta lista de registros se puede restringir utilizando la opción query.

Por defecto se comprueba que el valor original sea la clave primaria del registro, pero se puede comprobar cualquier otra columna indicada mediante la opción column.

Opción Error Descripción
model - La clase del modelo (esta opción es obligatoria)
alias - El alias del componente principal utilizado en la consulta
query - Consulta que se utiliza para obtener los objetos
column - El nombre de la columna que se comprueba. Por defecto vale null, lo que significa que se emplea la clave primaria. El nombre de la columna se indica con el formato del nombre de los campos.
connection - La conexión Propel que se utiliza (por defecto vale null)

Nota Este validador no funciona con los modelos que utilizan claves primarias compuestas.

13.9.2. sfValidatorDoctrineChoiceMany

sfValidatorDoctrineChoiceMany valida que los valores originales se encuentren en la lista de registros asociada a un modelo de Doctrine.

Nota Este validador utiliza como argumento un array, por lo que si se le pasa una cadena de texto, esta se convierte automáticamente en un array.

Este validador hereda todas las opciones del validador sfValidatorDoctrineChoice.

13.9.3. sfValidatorDoctrineUnique

sfValidatorDoctrineUnique valida que el valor de una columna o grupo de columnas (mediante la opción column) sea único dentro de un modelo de Doctrine.

Si se comprueban varias columnas, se puede lanzar un error global utilizando la opción throw_global_error.

Opción Error Descripción
model - La clase del modelo (esta opción es obligatoria)
column - El nombre de la columna cuyo valor debe ser único. El nombre se indica siguiendo el formato de Doctrine para el nombre de los campos (esta opción es obligatoria). Si se comprueba el valor de varias columnas, se pasa un array con el nombre de los campos
primary_key - El nombre de la columna de la clave primaria (es opcional, por lo que si no se indica, Symfony intenta adivinarlo). También se puede pasar un array si la tabla tiene varias claves primarias
connection - La conexión Doctrine que se utiliza (por defecto vale null)
throw_global_error - Indica si se lanza un error global (por defecto vale false) o un error asociado con el primer campo indicado en la opción column