我正在構建基於自定義ModelForm和自定義驗證的formset。Django Fomset is_valid()失敗,沒有錯誤
問題是驗證失敗,沒有錯誤。
這是自定義的ModelForm和表單集:
class AlternateFloorForm(ModelForm):
class Meta:
model = Floor
exclude = ('id_edificio', 'numero_di_piano', 'link', 'id')
widgets = {
'bearing' : HiddenInput(),
'zoom_on_map' : HiddenInput(),
'posizione_immagine' : HiddenInput(),
}
class BaseAlternateFloorFormSet(BaseFormSet):
def clean(self):
if any(self.errors):
return
for i in range(0, self.total_form_count()):
form = self.forms[i]
bearing = form.cleaned_data.get('bearing', None)
if (bearing != None) or (bearing < 0) or (bearing > 360):
raise forms.ValidationError("Bearing is not correct!!!")
我都只有一個形式也試過,但is_valid()始終爲假,並field.errors field.non_field_errors什麼都不顯示。
您的意思是'non_form_errors'?如果在formset「clean」中引發'ValidationError',那麼它將被放置在'non_form_errors'而不是'non_field_errors'中。 –
好吧,你是對的!現在它發出「軸承不正確!!!」 我傳遞一個整數和模型是: bearing = models.DecimalField(max_digits = 6,decimal_places = 2,null = True) 我不知道什麼是問題,現在我只測試,但將來我會使用十進制值... –