Tipo de campo Form

Consulta Symfony\Component\Form\Extension\Core\Type\FormType.

El tipo form predefine un par de opciones que luego estarán disponibles en todos los campos.

data

tipo: mixed predeterminado: De manera predeterminada al campo del objeto subyacente (si existe)

Cuando creas un formulario, cada campo inicialmente muestra el valor de la propiedad correspondiente al objeto del dominio del formulario (si está ligado un objeto al formulario). Si deseas sustituir el valor inicial del formulario, o simplemente un campo individual, lo puedes configurar en la opción data:

$builder->add('token', 'hidden', array(
    'data' => 'abcdef',
));

required

tipo: Boolean predeterminado: true

Si es true, reproducirá un atributo required de HTML5. La label correspondiente será reproducida con una clase required.

Esto es superficial e independiente de la validación. A lo sumo, si dejas que Symfony deduzca el tipo de campo, entonces el valor de esta opción, se puede inferir a partir de tu información de validación.

constraints

tipo: arreglo o Symfony\Component\Validator\Constraint predefinido: null

Te permite asociar una o más restricciones de validación a un campo específico. Para más información, ve Añadiendo validación. Esta opción se añadió en la clase Symfony\Component\Form\Extension\Validator\Type\FormTypeValidatorExtension de la extensión form.

cascade_validation

tipo: Booleano predeterminado: false

Pon esta opción a true para forzar la validación en tipos de formulario incorporando. Por ejemplo, si tienes un ProductType con un CategoryType incorporando, poner cascade_validation a true en ProductType causará que el dato de CategoryType a también sea validado.

En vez de utilizar esta opción, también puedes utilizar la restricción Valid en tu modelo para forzar la validación en un objeto hijo almacenado en una propiedad.

read_only

Nuevo en la versión 2.1: The read_only option was changed in 2.1 to render as a readonly HTML attribute. Previously, it rendered as a disabled attribute. Use the disabled option if you need the old behavior.

tipo: Boolean predeterminado: false

If this option is true, the field will be rendered with the readonly attribute so that the field is not editable.

disabled

Nuevo en la versión 2.1: The disabled option is new in version 2.1

type: boolean default: false

Si no deseas que un usuario pueda modificar el valor de un campo, puedes establecer la opción disabled en true. Cualquier valor recibido será omitido.

trim

tipo: Boolean predeterminado: true

Si es true, el espacio en blanco de la cadena presentada será eliminado a través de la función trim() cuando se vinculan los datos. Esto garantiza que si un valor es presentado con espacios en blanco excedentes, estos serán removidos antes de fusionar de nuevo el valor con el objeto subyacente.

mapped

tipo: boolean

Si quieres que el campo sea omitido al leer o escribir el objeto, puedes configurar la opción mapped a false.

property_path

tipo: cualquiera predeterminado: El valor del campo

Los campos, por omisión, muestran una propiedad valor del objeto de dominio formulario. Cuando se envía el formulario, el valor presentado se escribe de nuevo en el objeto.

Si deseas reemplazar la propiedad que un campo lee y escribe, puedes establecer la opción property_path. Su valor predeterminado es el nombre del campo.

Si quieres que el campo sea omitido al leer o escribir el objeto, puedes configurar la opción property_path a false, pero usar property_path para este propósito no es recomendable, lo debes hacer de la manera decrita a continuación:

Nuevo en la versión 2.1: A partir de 2.1, la opción mapped se añadió para este propósito.

attr

tipo: array predeterminado: Un arreglo vacío

Si deseas añadir atributos extra a la representación HTML del campo puedes usar la opción attr. Es un arreglo asociativo con el atributo HTML como clave. Esto puede ser útil cuando necesitas fijar una clase personalizada para algún elemento gráfico:

$builder->add('body', 'textarea', array(
    'attr' => array('class' => 'tinymce'),
));

translation_domain

tipo: string predefinido: messages —(mensajes)

Este es el dominio de traducción que se utilizará para cualquier etiqueta u opción que sea reproducida para este campo.

Bifúrcame en GitHub