Los formularios de Symfony 1.4

13.3. Validadores simples

13.3.1. sfValidatorString

sfValidatorString valida una cadena de texto y convierte el valor original en una cadena de texto.

Opción Error Descripción
max_length max_length La longitud máxima de la cadena de texto
min_length min_length La longitud mínima de la cadena de texto
Error Variables Valor por defecto (se muestra en inglés)
max_length max_length "%value%" is too long (%max_length% characters max).
min_length min_length "%value%" is too short (%min_length% characters min).

Nota Este validador requiere la extensión mb_string de PHP para funcionar correctamente. Si se encuentra instalada, la longitud de la cadena de texto se calcula con la función mb_strlen(). Si no se encuentra instalada, se emplea la función strlen(), que no calcula correctamente la longitud de las cadenas de texto que utilizan caracteres que no sean ASCII.

13.3.2. sfValidatorRegex

sfValidatorRegex valida una cadena de texto en función de la expresión regular indicada.

Opción Error Descripción
pattern invalid Una expresión regular que siga el formato de PCRE

13.3.3. sfValidatorEmail

sfValidatorEmail valida que el valor indicado tenga el formato correcto de una dirección de email. Este validador hereda de sfValidatorRegex.

13.3.4. sfValidatorUrl

sfValidatorEmail valida que el valor indicado tenga el formato correcto de una URL de HTTP o FTP. Este validador hereda de sfValidatorRegex.

13.3.5. sfValidatorInteger

sfValidatorInteger valida un número entero y convierte el valor original en un número entero.

Opción Error Descripción
max max El número entero más grande que se acepta como valor
min min El número entero más pequeño que se acepta como valor
Error Variables Valor por defecto (se muestra en inglés)
max max "%value%" must be less than %max%.
min min "%value%" must be greater than %min%.

El mensaje por defecto para el error de tipo invalid es "%value%" is not an integer.

13.3.6. sfValidatorNumber

sfValidatorNumber valida un número y convierte el valor original en un número. Cualquier cadena de texto que PHP sea capaz de convertir mediante la función floatval se considera un número.

Opción Error Descripción
max max El número más grande que se acepta como valor
min min El número más pequeño que se acepta como valor
Error Variables Valor por defecto (se muestra en inglés)
max max "%value%" must be less than %max%.
min min "%value%" must be greater than %min%.

El mensaje por defecto para el error de tipo invalid es "%value%" is not a number..

13.3.7. sfValidatorBoolean

sfValidatorBoolean valida un valor booleano y devuelve true o false.

Opción Error Descripción
true_values - La lista de valores booleanos verdaderos (por defecto son true, t, yes, y, on, 1)
false_values - La lista de valores booleanos falsos (por defecto son false, f, no, n, off, 0)

13.3.8. sfValidatorChoice

sfValidatorChoice valida que el valor original pertenezca a una la lista de valores esperados.

Opción Error Descripción
choices - Array con los valores esperados (esta opción es obligatoria)
multiple - true si la etiqueta <select> debe permitir selecciones múltiples

Nota La comparación se realiza después de convertir el valor original en una cadena de texto.

13.3.9. sfValidatorPass

sfValidatorPass es un validador especial que no realiza ninguna validación y que simplemente devuelve el valor original intacto.

13.3.10. sfValidatorCallback

sfValidatorCallback permite delegar la validación del valor original al código PHP ejecutable indicado, también llamado "callback".

Al código PHP ejecutable se le pasan como argumentos la instancia del validador actual, el valor original y un array de opciones (obtenido mediante la opción arguments):

function callback_validador_constante($validador, $valorOriginal, $argumentos)
{
  if ($valorOriginal != $argumentos['constante'])
  {
    throw new sfValidatorError($validador, 'invalid');
  }

  return $valorOriginal;
}

$v = new sfValidatorCallback(array(
  'callback'  => 'callback_validador_constante',
  'arguments' => array('constante' => 'valor'),
));
Opción Error Descripción
callback - Un callback válido de PHP (obligatorio)
arguments - Array con las opciones que se le pasan al callback