カスタムModelFormとカスタム検証に基づいてフォームセットを構築しています。
問題は、検証がエラーなしで失敗することです。
カスタムModelFormとFormsetは次のとおりです。
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!!!")
私も1つの形式で試しましたが、is_valid()は常にFalseであり、field.errorsfield.non_field_errorsは何も表示しません。