El tipo timezone es un subconjunto de ChoiceType que permite al usuario seleccionar entre todas las posibles zonas horarias.
El «valor» para cada zona horaria es el nombre completo de la zona horaria, por ejemplo América/Chicago o Europa/Estambul.
A diferencia del tipo choice, no es necesario especificar una opción choices o choice_list, ya que el tipo de campo utiliza automáticamente una larga lista de regiones. Puedes especificar cualquiera de estas opciones manualmente, pero entonces sólo debes utilizar el tipo choice directamente.
Rendered as | can be various tags (see Etiqueta select, casillas de verificación o botones de radio) |
Inherited options | |
Parent type | choice |
Class | Symfony\Component\Form\Extension\Core\Type\TimezoneType |
Estas opciones las hereda del tipo choice:
tipo: Boolean predeterminado: false
Si es true, el usuario podrá seleccionar varias opciones (en contraposición a elegir sólo una opción). Dependiendo del valor de la opción expanded, esto reproducirá una etiqueta de selección o casillas de verificación si es true y una etiqueta de selección o botones de radio si es false. El valor devuelto será un arreglo.
tipo: Boolean predeterminado: false
Si es true, los botones de radio o casillas de verificación se reproducirán (en función del valor de multiple). Si es false, se reproducirá un elemento de selección.
tipo: array predeterminado: array()
Si se especifica esta opción, entonces un subconjunto de todas las opciones se trasladará a la parte superior del menú de selección. Lo siguiente debe mover la opción «Baz» a la parte superior, con una separación visual entre esta y el resto de las opciones:
$builder->add('foo_choices', 'choice', array(
'choices' => array('foo' => 'Foo', 'bar' => 'Bar', 'baz' => 'Baz'),
'preferred_choices' => array('baz'),
));
Ten en cuenta que las opciones preferidas sólo son útiles cuando se reproducen como un elemento select (es decir, expanded es false). Las opciones preferidas y las opciones normales están separadas visualmente por un conjunto de líneas punteadas (es decir, -------------------). Esto se puede personalizar cuando reproduzcas el campo:
{{ form_widget(form.foo_choices, { 'separator': '=====' }) }}
<?php echo $view['form']->widget($form['foo_choices'], array('separator' => '=====')) ?>
tipo: string o Boolean
Esta opción determina si o no una opción empty especial (por ejemplo, «Elige una opción») aparecerá en la parte superior de un elemento gráfico de selección. Esta opción sólo se aplica si ambas opciones expanded y multiple se establecen en false.
Añade un valor vacío con «Elige una opción», como el texto:
$builder->add('states', 'choice', array(
'empty_value' => 'Choose an option',
));
Garantiza que ninguna opción con valor empty se muestre:
$builder->add('states', 'choice', array(
'empty_value' => false,
));
Si dejas sin establecer la opción empty_value, entonces automáticamente se añadirá una opción con espacio en blanco (sin texto) si y sólo si la opción required es false:
// añadirá una opción de espacio en blanco (sin texto)
$builder->add('states', 'choice', array(
'required' => false,
));
Estas opciones las hereda del tipo field:
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.
tipo: string predefinido: La etiqueta se «deduce» a partir del nombre del campo
Establece la etiqueta que se utilizará al reproducir el campo. La etiqueta también se puede fijar directamente dentro de la plantilla:
{{ form_label(form.name, 'Tu nombre') }}
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.
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.
tipo: Boolean predeterminado: false
Si es true, los errores de este campo serán pasados al campo padre o al formulario. Por ejemplo, si estableces en true un campo normal, cualquier error de ese campo se adjuntará al formulario principal, no al campo específico.