2010-12-10 25 views
0

je trouve un code de validation de django, mais je trouve qu'il a été écrit il y a 3 ans,est le code de validation de django trop vieux pour utiliser

est donc trop vieux pour utiliser?

a une meilleure façon de validation dans django

Voici le code:

class UserField(forms.CharField): 
    def clean(self, value): 
     super(UserField, self).clean(value) 
     try: 
      User.objects.get(username=value) 
      raise forms.ValidationError("Someone is already using this username. Please pick an other.") 
     except User.DoesNotExist: 
      return value 

class SignupForm(forms.Form): 
    first_name = forms.CharField(max_length=30) 
    last_name = forms.CharField(max_length=30) 
    username = UserField(max_length=30) 
    password = forms.CharField(widget=forms.PasswordInput()) 
    password2 = forms.CharField(widget=forms.PasswordInput(), label="Repeat your password") 
    email = forms.EmailField() 
    email2 = forms.EmailField(label="Repeat your email") 

    def clean_email(self): 
     if self.data['email'] != self.data['email2']: 
      raise forms.ValidationError('Emails are not the same') 
     return self.data['email'] 

    def clean_password(self): 
     if self.data['password'] != self.data['password2']: 
      raise forms.ValidationError('Passwords are not the same') 
     return self.data['password'] 

    def clean(self,*args, **kwargs): 
     self.clean_email() 
     self.clean_password() 
     return super(SignupForm, self).clean(*args, **kwargs) 

grâce

+1

'assez vieux' pour quoi? – SingleNegationElimination

+0

assez vieux pour l'utiliser – zjm1126

+0

"assez vieux pour l'utiliser" pour quoi faire? Pourquoi l'âge serait-il important en premier lieu? Qu'est-ce que vous essayez d'accomplir? – SingleNegationElimination

Répondre

0

Mon conseil est: ne pas.

Je ne sais pas si c'était correct à ce moment-là et je ne veux pas tester si ça marche encore, mais ça a l'air vraiment, vraiment vieux.

Il ressemble un peu aux exemples dans le fine docs, jetez un oeil et vous serez en mesure de comprendre ce qui a changé au cours des 3 dernières années.