SymfonyWorld Online 2020
100% online
30+ talks + workshops
Live + Replay watch talks later
WARNING: You are browsing the documentation for Symfony 4.1 which is not maintained anymore. Consider upgrading your projects to Symfony 5.1.

ButtonType Field

ButtonType Field

A simple, non-responsive button.

Rendered as button tag
Inherited options
Parent type none
Class Symfony\Component\Form\Extension\Core\Type\ButtonType

Inherited Options

The following options are defined in the Symfony\Component\Form\Extension\Core\Type\BaseType class. The BaseType class is the parent class for both the button type and the FormType, but it is not part of the form type tree (i.e. it cannot be used as a form type on its own).


type: array default: []

If you want to add extra attributes to the HTML representation of the button, you can use attr option. It’s an associative array with HTML attribute as a key. This can be useful when you need to set a custom class for the button:

use Symfony\Component\Form\Extension\Core\Type\ButtonType;
// ...

$builder->add('save', ButtonType::class, [
    'attr' => ['class' => 'save'],


type: boolean default: false

If you don’t want a user to be able to click a button, you can set the disabled option to true. It will not be possible to submit the form with this button, not even when bypassing the browser and sending a request manually, for example with cURL.


type: string default: The label is “guessed” from the field name

Sets the label that will be displayed on the button. The label can also be directly set inside the template:

  • Twig
    {{ form_widget(, { 'label': 'Click me' }) }}
  • PHP
    <?= $view['form']->widget($form['save'], ['label' => 'Click me']) ?>


type: string default: messages

This is the translation domain that will be used for any labels or options that are rendered for this button.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.