我们说我有这种形式:
from django import forms
from django.core.exceptions import ValidationError
class NameForm(forms.form):
name = forms.CharField(max_length=200)
class NameAgeForm(NameForm):
age = forms.IntegerField()
def clean(self):
data = self.cleaned_data
if data.get('age') == 24 and data.get('name') == 'Nebu':
raise ValidationError({'name': "You can't pick that name and age, they are mine!"})
问题是,我有一个子表单,验证正在进行中。 但我希望我的字段错误显示在NameForm上。
旁注我无法访问父表单,因此解决方案必须来自孩子。
现在,这可能吗?
答案 0 :(得分:1)
Clean()方法必须为每个字段添加自定义验证。对于field-specific验证,此字段验证特定于您当前的表单,我们不想将其放入ChildForm。相反,我们在ParentForm中编写一个清理方法。所以Django对你没有帮助。