我有一个表单,可以说:formField1,formField2,... formField10。
在我的树枝视图中,我希望显示5个第一表格字段。
我的代码看起来像这样:
{{ form_widget(form.formField1, {'attr': {'class': 'form-control'}}) }}
{{ form_widget(form.formField2, {'attr': {'class': 'form-control'}}) }}
{{ form_widget(form.formField3, {'attr': {'class': 'form-control'}}) }}
{{ form_widget(form.formField4, {'attr': {'class': 'form-control'}}) }}
{{ form_widget(form.formField5, {'attr': {'class': 'form-control'}}) }}
因此,当我提交此文件时,这些字段就可以使用:在数据库中一切正常。
但是对于其他字段(6到10),我的数据库的所有内容都显示为“ NULL” ...
所以我目前的解决方案是执行以下操作:
<div class="form-group hidden">
<div class="col-md-10 col-sm-9 col-xs-12">
{{ form_rest(form) }}
</div>
</div>
但这不是很安全(F12 +删除隐藏的属性:))
有人知道如何不触及其他领域吗?
我也尝试禁用它们:
{{ form_widget(form.formFieldX, {'attr': {'class': 'form-control'}, 'disabled': true}) }}
但它也不起作用(设置为NULL)。
答案 0 :(得分:1)
唯一安全的解决方案是将这些字段排除在表单类型之外(例如,通过添加选项以在某些条件下打开/关闭这些字段)。
默认情况下,Form组件清除(即将它们设置为null
)属于表单类型但不属于请求的所有表单字段。可以将其关闭,但是此选项旨在允许支持HTTP PATCH请求。此外,如果您仍将字段保留为表单类型,那么用户也可以为其手动添加所需的HTML代码并提交,这意味着它们将再次被更改。