Skip to content

Define the labels of the BirthdayType #59825

@Asmitta-01

Description

@Asmitta-01

Description

When i create a BirthdyaType it is displayed like this:

<div id="my_entity_birthday">
    <div class="visually-hidden">
        <label class="form-label required" for="my_entity_birthday_year">Year</label>
        <label class="form-label required" for="my_entity_birthday_month">Month</label>
        <label class="form-label required" for="my_entity_birthday_day">Day</label>
    </div>
    <div class="input-group">
        <select id="my_entity_birthday_day" name="my_entity[birthday][day]" required="required" class="form-select">
            ...
        </select>
        <select id="my_entity_birthday_month" name="my_entity[birthday][month]" required="required" class="form-select">
            ...
        </select><select id="my_entity_birthday_year" name="my_entity[birthday][year]" required="required"
            class="form-select">
            ...
        </select>
    </div>
</div>

The hidden div (.visually-hidden) can not be changed, even with label_attr. A way to resolve can be using the label_attr actually useless on this field. It will also offer more control on translation.

Example

Writing:

        $builder
              ->add('birthday', BirthdayType::class, [
                        'widget' => 'choice',
                        'label' => 'birthday',
                        'required' => true,
                        label_attr' => [
                            'year' => 'Special year',
                            'month' => 'Special month',
                            'day' => 'Special day',
                        ],
                    ])

Will display

<div id="my_entity_birthday">
    <div class="visually-hidden">
        <label class="form-label required" for="my_entity_birthday_year">Special year</label>
        <label class="form-label required" for="my_entity_birthday_month">Special month</label>
        <label class="form-label required" for="my_entity_birthday_day">Special day</label>
    </div>
...

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