如何控制表单的渲染
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
如何控制表单的渲染
到目前为止,您已经看到了如何用一行代码呈现整个表单。当然,在渲染时你通常需要更大的灵活性:
- 嫩枝
- PHP
1 2 3 4 5 6 7
{# app /资源/视图/ / new.html违约。树枝#}{{form_start(form)}}{{form_errors(form)}}{{form_row(form.task)}}{{form_row(form.dueDate)}}{{form_end(form)}}
你们已经知道了form_start ()
而且form_end ()
函数,但是其他函数是做什么的呢?
-
form_errors(形式)
- 将所有错误呈现为整个表单的全局错误(特定于字段的错误显示在每个字段旁边)。
-
form_row (form.dueDate)
-
呈现标签、任何错误和给定字段的HTML表单小部件(例如。
dueDate
)内部,默认情况下,adiv
元素。
大部分的工作是由form_row
类中每个字段的标签、错误和HTML表单小部件div
标签。在如何处理表单主题部分,你将学习如何form_row
可以在许多不同的级别上定制输出。
提示
您可以通过访问表单的当前数据form.vars.value
:
- 嫩枝
- PHP
1
{{form.vars.value.task}}
手工渲染每个字段
的form_row
Helper非常有用,因为您可以非常快速地呈现表单的每个字段(用于“行”的标记也可以自定义)。但由于生活并不总是那么简单,您也可以完全手工渲染每个字段。的最终结果与使用form_row
助手:
- 嫩枝
- PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20
{{form_start(form)}}{{form_errors(form)}}<div>{{form_label(form.task)}}{{form_errors(form.task)}}{{form_widget(form.task)}}div><div>{{form_label(form.dueDate)}}{{form_errors(form.dueDate)}}{{form_widget(form.dueDate)}}div><div>{{form_widget(form.save)}}div>{{form_end(form)}}
如果字段的自动生成标签不太正确,你可以显式地指定它:
- 嫩枝
- PHP
1
{{了form_label(形式。task, ' task Description')}}
某些字段类型具有可以传递给小部件的附加呈现选项。这些选项在每种类型中都有文档说明,但是一个常见的选项是attr
,它允许您修改表单元素上的属性。下面将添加task_field
类添加到呈现的输入文本字段:
- 嫩枝
- PHP
1
{{form_widget(形式。任务,{'attr': {'class': 'task_field'}})}}
如果您需要“手动”呈现表单字段,那么您可以访问字段的单个值,例如id
,的名字
而且标签
.例如,得到id
:
- 嫩枝
- PHP
1
{{form.task.vars.id}}
要获取表单字段的name属性所使用的值,需要使用full_name
值:
- 嫩枝
- PHP
1
{{form.task.vars。full_name}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。