Un campo para capturar entradas horarias.
Este se puede reproducir como un campo de texto, una serie de campos de texto (por ejemplo, horas, minutos, segundos) o una serie de campos de selección. Los datos subyacentes se pueden almacenar como un objeto DateTime, una cadena, una marca de tiempo (timestamp) o un arreglo.
Underlying Data Type | can be DateTime, string, timestamp, or array (see the input option) |
Rendered as | can be various tags (see below) |
Options | |
Inherited options | |
Parent type | form |
Class | Symfony\Component\Form\Extension\Core\Type\TimeType |
Este tipo de campo es altamente configurable, pero fácil de usar. Las opciones más importantes son input y widget.
Supongamos que tienes un campo startTime cuyo dato de hora subyacente es un objeto DateTime. Lo siguiente configura el tipo time para ese campo como tres campos de opciones diferentes:
$builder->add('startTime', 'time', array(
'input' => 'datetime',
'widget' => 'choice',
));
La opción input se debe cambiar para que coincida con el tipo de dato de la fecha subyacente. Por ejemplo, si los datos del campo startTime fueran una marca de tiempo Unix, habría necesidad de establecer la entrada a timestamp:
$builder->add('startTime', 'time', array(
'input' => 'timestamp',
'widget' => 'choice',
));
El campo también es compatible con array y string como valores válidos de la opción input.
tipo: string predefinido: choice
La forma básica en que se debe reproducir este campo. Puede ser una de las siguientes:
tipo: string predefinido: datetime
El formato del dato input —es decir, el formato de la fecha en que se almacena en el objeto subyacente. Los valores válidos son los siguientes:
El valor devuelto por el formulario también se normaliza de nuevo a este formato.
tipo: Boolean predeterminado: false
Si debe o no incluir los segundos en la entrada. Esto resultará en una entrada adicional para capturar los segundos.
tipo: integer predeterminado: 0 a 23
Lista de las horas disponibles para el tipo de campo hours. Esta opción sólo es relevante cuando la opción widget está establecida en choice.
tipo: integer predeterminado: 0 a 59
Lista de los minutos disponibles para el tipo de campo minutes. Esta opción sólo es relevante cuando la opción widget está establecida en choice.
tipo: integer predeterminado: 0 a 59
Lista de los segundos disponibles para el tipo de campo segundos. Esta opción sólo es relevante cuando la opción widget está establecida en choice.
tipo: string predefinido: la zona horaria del sistema
La zona horaria en que se almacenan los datos entrantes. Esta debe ser una de las zonas horarias compatibles con PHP
tipo: string predefinido: la zona horaria del sistema
La zona horaria para mostrar los datos al usuario (y por lo tanto también los datos que el usuario envía). Esta debe ser una de las zonas horarias compatibles con PHP
Estas opciones las hereda del tipo field:
tipo: string predefinido: This value is not valid (Este valor no es válido)
Este es el mensaje para el error de validación utilizado cuando se determina que los datos ingresados en este campo no tienen sentido (es decir, falla la validación).
Esto puede ocurrir, por ejemplo, si el usuario introduce una cadena sin sentido en el campo time que no se puede convertir a una hora real o si el usuario introduce una cadena (por ejemplo, manzana) en un campo de número.
La validación (con la lógica del negocio) normal (por ejemplo, al establecer una longitud mínima en un campo) la debes establecer usando mensajes de validación con tus reglas de validación (referencia).
tipo: array predeterminado: array()
Al establecer la opción invalid_message, posiblemente sea necesario que incluyas algunas variables en la cadena. Esto se puede lograr agregando marcadores de posición y variables en esa opción:
$builder->add('some_field', 'some_type', array(
// ...
'invalid_message' => 'You entered an invalid value - it should include %num% letters',
'invalid_message_parameters' => array('%num%' => 6),
));
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.
These options inherit from the date type:
tipo: boolean default: false
This option determines if the form will be mapped with data. This can be useful if you need a form to structure the view. See Cómo usar la opción virtual en los campos de formulario.