放置ModelForm验证的适当位置是什么?

时间:2011-12-18 23:55:50

标签: django django-models django-forms validation django-validation

我正在使用Django的ModelForms,并希望对模型和表单进行验证。我正在使用以下方式呈现表单:

{{ form.as_table }}

在每个字段的基础上进行验证的适当位置是什么(例如表单'clean_fieldname)和整体(如表单'clean)?

我想尽量减少写入的代码量,而不是两次写相同的验证器(在模型和表单中)。此外,我希望在正确的表单字段上显示每个字段的验证错误,而不是将所有错误放在表单的顶部(因此不是模型中的所有检查都是干净的)。

1 个答案:

答案 0 :(得分:3)

您可能希望使用Django 1.2中引入的自定义validators

不要忘记,除非您使用的是ModelForm,否则必须通过调用模型实例上的full_clean()方法来显式执行模型验证。