How to make form validation in Django dynamic?

Posted by Oli on Stack Overflow See other posts from Stack Overflow or by Oli
Published on 2010-05-27T14:57:43Z Indexed on 2010/05/27 15:01 UTC
Read the original article Hit count: 197

Filed under:
|
|

I'm trying to make a form that handles the checking of a domain: the form should fail based on a variable that was set earlier in another form.

Basically, when a user wants to create a new domain, this form should fail if the entered domain exists.

When a user wants to move a domain, this form should fail if the entered domain doesn't exist.

I've tried making it dynamic overload the initbut couldn't see a way to get my passed variabele to the clean function.

I've read that this dynamic validation can be accomplished using a factory method, but maybe someone can help me on my way with this?

Here's a simplified version of the form so far:

#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

© Stack Overflow or respective owner

Related posts about python

Related posts about django