繁体   English   中英

django required =真的不行

[英]django required=True not working

我有一个非常简单的表格,我希望唯一的字段不能为空。 因此,在文档中,required = True是答案:

class AjouterGroupe(forms.Form):
    nom = forms.CharField(required=True, label="", max_length=30, widget=forms.TextInput(attrs={'placeholder': 'Nom', 'class':'form-control input-perso'}))

这是我的一些看法:

Formset = formset_factory(data.form(table, 1), extra=nbajout)
        if request.method == 'POST' and first:

            formset = Formset(request.POST, request.FILES)
            if formset.is_valid():
                nbajout = 0  
                envoi = True

                for form in formset:
                    print(form.is_valid())
                    print(form)
                    form.save()

            form = nbAjout()

        else:
            formset = Formset() 

在特定情况下,data.form(table,1)= AjouterGroupe。

但是主要的问题是当我使用空字段进行验证时,form.is_valid()为True:/

Variable                    Value

csrfmiddlewaretoken     'uw1fFj9toTU3o3Il3lFW0yvt4OS31XUn'

form-INITIAL_FORMS    '0'

form-MAX_NUM_FORMS    '1000'

form-TOTAL_FORMS     '1'

form-MIN_NUM_FORMS    '0'

form-0-nom            ''

这是因为Formsets确实允许空白值。 如果未输入任何内容,它将被视为不需要添加的表单。

单独尝试使用表单(不是表单集的一部分):在那里,您required=True可以正常工作。 另外,如果您尝试使用具有两个字段(都设置为required=True )的模型,则将看到仅填充一个字段会引发错误。

您应该能够使用formset_factory参数,例如min_num=<number>, validate_min=True, extra=1等,以强制进行验证。

另请参阅Django formset不验证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM