Los formularios de Symfony 1.4

13.8. Validadores de Propel

13.8.1. sfValidatorPropelChoice

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

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)
criteria - Objeto criteria utilizado para realizar la consulta
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)
multiple - Vale true si la lista desplegable permite selecciones múltiples

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

13.8.2. sfValidatorPropelChoiceMany

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

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.

En realidad, este validador es un atajo de:

$v = new sfValidatorPropelChoice(array('multiple' => true));

13.8.3. sfValidatorPropelUnique

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

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 Propel 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
field - Nombre del campo que utiliza el formulario, distinto del nombre de la columna
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 Propel 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