在 Symfony2.1 (以及Symfony2.0)中,可以render a widget by hand in a Twig template。因此,如果要渲染文本字段名称“username”,则可以单独呈现相关的标签,错误和输入,即:
{{ form_label(form.username) }}
{{ form_errors(form.username) }}
{{ form_widget(form.username) }}
在Symfony2.1中,引入了Repeated
字段组。确保用户没有为重要条目插入错误值(例如电子邮件或密码)非常有用。
问题是,如何手动在Twig模板中呈现?
请注意,在这种情况下,{{ form_widget(form.username) }}
将呈现整个组件(即标签和输入)。
答案 0 :(得分:6)
$builder->add('userPass', 'repeated', array(
'type' => 'password',
'label' => 'Zayso Password',
'required' => true,
'invalid_message' => 'The password fields must match.',
'constraints' => new NotBlank(),
'first_options' => array('label' => 'Zayso Password'),
'second_options' => array('label' => 'Zayso Password(repeat)'),
'first_name' => 'pass1', // form.userPass.pass1
'second_name' => 'pass2', // form.userPass.pass2
));
在你的模板中,你可以这样做:{{form_widget(form.userPass.pass1}}。不知道它在哪里被记录但在某处找到了。
答案 1 :(得分:3)
迟到的答案,但您也可以添加
{{form_widget(form.username.first)}}
生成第一个小部件元素。
如果您想单独显示label
和widget
,可以使用:
{{ form_label(form.username.first) }}
{{ form_errors(form.username.first) }}
{{ form_widget(form.username.first) }}
{{ form_label(form.username.second) }}
{{ form_errors(form.username.second) }}
{{ form_widget(form.username.second) }}
以下是Repeated Field Type的文档。