How To Properly Throw A ValidationError In Django?
What's the appropriate way to throw a ValidationError exception in a Django form? There seems to be a few different mutually-exclusive ways to throw this exception. If I have a cus
Solution 1:
In any class that inherits from BaseFormSet, ValidationError
s raised in the clean
instance method are not associated with any particular form.
By design, you can pass a list to ValidationError
or a string in clean
for InlineFormSet. This will ensure that self.error_list
is set. This makes sense for formset because it contains a list of forms.
raise ValidationError([{NON_FIELD_ERRORS: ["Something's wrong!"]}])
This is different for ValidationError
raised in a Form
where errors raised are associated with that form. For this reason, forms support passing dict
, str
or list
to ValidationError.
Post a Comment for "How To Properly Throw A ValidationError In Django?"