Reproduce un campo de entrada de texto especializado en el manejo de la presentación de datos tipo «moneda».
Este tipo de campo te permite especificar una moneda, cuyo símbolo se representa al lado del campo de texto. También hay otras opciones para personalizar la forma de la entrada y salida de los datos manipulados.
Rendered as | input text field |
Options | |
Inherited options | |
Parent type | field |
Class | Symfony\Component\Form\Extension\Core\Type\MoneyType |
tipo: string predefinido: EUR
Especifica la moneda en la cual se especifica el dinero. Esta determina el símbolo de moneda que se debe mostrar en el cuadro de texto. Dependiendo de la moneda — el símbolo de moneda se puede mostrar antes o después del campo de entrada de texto.
This can be any 3 letter ISO 4217 code. You can also set this to false to hide the currency symbol.
tipo: integer predeterminado: 1
Si, por alguna razón, tienes que dividir tu valor inicial por un número antes de reproducirlo para el usuario, puedes utilizar la opción divisor. Por ejemplo:
$builder->add('price', 'money', array(
'divisor' => 100,
));
En este caso, si el campo price está establecido en 9900, entonces en realidad al usuario se le presentará el valor 99. Cuando el usuario envía el valor 99, este se multiplicará por 100 y finalmente se devolverá 9900 a tu objeto.
tipo: integer predeterminado: 2
Por alguna razón, si necesitas alguna precisión que no sean dos decimales, puedes modificar este valor. Probablemente no necesitarás hacer esto a menos que, por ejemplo, desees redondear al dólar más cercano (ajustando la precisión a 0).
tipo: integer predeterminado: false
Este valor se utiliza internamente como el valor de NumberFormatter::GROUPING_USED cuando se utiliza la clase PHP NumberFormatter. Su documentación no existe, pero parece que si se establece este a true, los números se agrupan con una coma o un punto (dependiendo de tu región): 12345.123 lo mostrará cómo 12,345.123.
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.
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),
));