【发布时间】:2020-06-07 03:55:52
【问题描述】:
我的 forms.py 中有表单:
class NameForm(forms.Form):
your_name = forms.CharField(label='Your name', max_length=100)
age = forms.CharField(label='Age', max_length=100)
sex = forms.CharField(label='Sex', max_length=100)
我创建了 formset_factory
NameFormSet = formset_factory(NameForm, extra=0)
在获取 context_data 的 views.py 中,我有:
...
def get_context_data(self, **kwargs):
context = super(APView, self).get_context_data(**kwargs)
if self.request.POST:
context['formset'] = NameFormSet()
else:
recommended = returnWebAttackResults(self.kwargs['webAttack'])
if recommended is None:
context['recommendedAP'] = False
else:
context['formset'] = NameFormSet(initial=recommended[0])
return context
....
在我的模板文件中,我有:
<form class="row" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ formset.management_form }}
{{ formset.non_form_errors }}
{% for forma in formset.forms %}
{{ forma }}
{% endfor %}
<input class="btn bg-success" type="submit" value="Update" />
</form>
我的问题是当我单击“更新”按钮时,我没有得到“此字段是必需的”。我尝试将 use_required_attribute 设置为 True,但没有成功。
场景:
returnWebAttackResults 函数获取表单集中表单的初始数据。因此,如果我有三个表单,如果任何表单中的一个字段为空白(无用户输入),那么当我单击更新按钮时,每个空白字段都应突出显示“此字段是必需的” .我只渲染常规表单时可以这样做,但是当我使用表单集时,它不起作用。
有没有办法在发送请求之前验证表单集中的表单?
【问题讨论】:
标签: django-forms django-templates formset