fishbone fishbone - 1 year ago 96
PHP Question

Symfony2 remove id field from submitted form data

My Symfony2 form has a text field containing the entity's ID.

I used the following to achieve this:

$formBuilder->add('id', TextType::class, ['attr' => ['readonly' => true]])

When submitting the form, which represents an existing entity, the ID is passed and Doctrine searches for an accessor method to modify the ID. At this point, an exception is thrown, as the entity doesn't allow to change the ID.

What is the common way in Symfony2 to provide a read-only field, which is not meant to be saved?

Answer Source

readonly is for clients. It indicates that client can't change the value of the element. But it is going to be submitted with form.

If you don't want element's value to be submitted use disabled instead.