我试图形成一种处理对一个领域进行核查的形式:形式应当根据早先以另一种形式确定的变量而失败。
基本上,当用户想要创造新的领域时,如果进入领域存在,这种形式就应当失败。
如果用户想要搬迁一个领域,如果进入的域名没有存在,这种形式就应当失败。
我试图使其动态超载>init
,但是看一看一看一去如何使我转过上清洁功能。
我的理解是,这种动态验证可以通过工厂方法完成,但也许有人可以帮助我这样做?
此处简化表格:
#OrderFormStep1 presents the user with a choice: create or move domain
class OrderFormStep2(forms.Form):
domain = forms.CharField()
extension = forms.CharField()
def clean(self):
cleaned_data = self.cleaned_data
domain = cleaned_data.get("domain")
extension = cleaned_data.get("extension")
if domain and extension:
code = whoislookup(domain+extension);
#Raise error based on result from OrderFormStep1
#raise forms.ValidationError( error, domain already exists )
#raise forms.ValidationError( error, domain does not exist )
return cleaned_data