簡體   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