3

我有一个表格,其中一个字段是:

$builder->add('password', 'repeated', array(
    'type' => 'password',
    'invalid_message' => 'The password fields must match.',
    'options' => array('attr' => array('class' => 'password-field')),
    'required' => true,
    'first_options'  => array('label' => 'Password'),
    'second_options' => array('label' => 'Confirm Password'),
));        

这里一切都很好,除了表单渲染。我习惯以这种方式在 twig 文件中呈现表单:

 <table style="width:500px; padding:30px">
            <tr>
                <td>
                    {{ form_label(form.email) }}
                </td>
                <td>
                    {{ form_widget(form.email, { 'attr': {'size': 30} }) }}
                </td>
            </tr>
            <tr>
                <td>
                    {{ form_label(form.password.first) }}
                </td>
                <td>
                    {{ form_row(form.password.first, { 'attr': {'size': 30} }) }}
                </td>
            </tr>
            <tr>
                <td>
                    {{ form_label(form.password.second) }}
                </td>
                <td>
                    {{ form_row(form.password.second, { 'attr': {'size': 30} }) }}
                </td>
            </tr>
            <tr>
....
....

问题是对于重复的类型,标签是重复的:见附图。

你知道如何解决这个问题吗?

先感谢您。在此处输入图像描述

4

1 回答 1

5

由于使用 form_row() 而不是 form_widget() 输出密码控件,标签出现了两次。form_row() 方法一次性输出字段错误、标签和小部件。如果您想自己输出字段错误,可以使用例如 form_errors(form.password.first)。

于 2013-06-05T13:40:44.387 回答