Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Form] Custom Form Type with the same name as its parent Symfony form type results in exception upon rednering #58825

Closed as not planned
@yyaremenko

Description

@yyaremenko

Symfony version(s) affected

7.1.7

Description

What I do:
I create a custom form type for an emali field, which has a name colliding with a Symfony's form type, as following:

<?php

namespace App\Form\User;

use Symfony\Component\Form\Extension\Core\Type\EmailType as BaseEmailType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolver;

class EmailType extends AbstractType
{
    public function configureOptions(OptionsResolver $resolver): void
    {
        $resolver->setDefaults([
            // ... defaults are set here
        ]);
    }

    public function getParent(): string
    {
        return BaseEmailType::class;
    }
}

What I expect:
The form is rendered to the end user.

What I get:
An exception rendered to the end user:

An exception has been thrown during the rendering of a template ("Unable to render the form because the block names array contains duplicates: "_sign_up_email_row", "email_row", "email_row", "text_row", "form_row".").

Experiment:
If I change my form type class name from EmailType to anything else, e.g. MailType, the form is rendered successfully

How to reproduce

(see description)

Possible Solution

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions