如何在表单中的RepeatedType错误上添加样式?

unl*_*ill 2 php symfony twig

我尝试向表单中的 RepeatedType 生成的错误消息添加样式,但它没有任何效果。

这是我的控制器中的代码:

    public function signupAction(Request $request)
    {
        $user = new Users();

        $form = $this->createFormBuilder($user)
            ->add('email', EmailType::class, array(
                'required' => true,
                'label' => 'e-Mail'
            ))
            ->add('password', RepeatedType::class, array(
                'type' => PasswordType::class,
                'invalid_message' => 'passwords are not identicals',
                'options' => array('attr' => array('class' => 'password-field')),
                'required' => true,
                'first_options'  => array('label' => 'Password'),
                'second_options' => array('label' => 'Confirm password'),
            ))
            ->add('submit', SubmitType::class, array(
                'label' => 'Submit'
            ))
            ->getForm();
Run Code Online (Sandbox Code Playgroud)

这是我的树枝视图中的代码:

{% block stylesheets %}
    <style>
        .error_msg {
            color: red;
        }
    </style>
{% endblock %}

{% block body %}
    {{ form_start(form) }}
        {{ form_label(form.email) }}
        {{ form_widget(form.email) }}
        <div class="error_msg">{{ form_errors(form.email) }}</div>

        {{ form_label(form.password) }}
        {{ form_widget(form.password) }}
        <div class="error_msg">{{ form_errors(form.password) }}</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

因此,它适用于form.email但不适用于form.password。如果我尝试在 上应用样式{{ form_errors(form.password.children['first']) }},错误会显示 2 次(1 次没有样式,1 次有样式。)

我该怎么做 ?

Rou*_*ubi 5

执行如下操作,错误仅显示一次(代码已测试):

    {{ form_start(form) }}
    {{ form_widget(form.plainPassword.children['first']) }}
    <div style="background-color: red;">{{ form_errors(form.plainPassword.children['first']) }}</div>
    {{ form_widget(form.plainPassword.children['second']) }}
    <div style="background-color: red;">{{ form_errors(form.plainPassword.children['second']) }}</div>
    {{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)