forms.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from django import forms
  2. from .models import *
  3. import re
  4. from configurazione.views import *
  5. class LoginUser(forms.Form):
  6. def __init__(self,*args,**kwargs):
  7. forms.Form.__init__(self,*args,**kwargs)
  8. self.fields['username'] = forms.CharField(required=True)
  9. self.fields['password'] = forms.CharField(required=True,widget=forms.PasswordInput)
  10. class NuoveCredenziali(forms.Form):
  11. def __init__(self,*args,**kwargs):
  12. forms.Form.__init__(self,*args,**kwargs)
  13. self.fields['password1'] = forms.CharField(required=True,widget=forms.PasswordInput)
  14. self.fields['password2'] = forms.CharField(required=True,widget=forms.PasswordInput)
  15. def clean_password1(self):
  16. # password uguali nei due campi
  17. data = self.data['password1']
  18. if data != self.data['password2']:
  19. raise forms.ValidationError("I due campi password devono essere uguali")
  20. # lunghezza password
  21. if len(data.strip()) < int(getConfigurazione('mail_password_length')):
  22. raise forms.ValidationError("Password troppo corta!")
  23. # presenza di spazi non validi
  24. if re.search('\s',data):
  25. raise forms.ValidationError("Sono presenti caratteri non validi. I caratteri accettati sono: a-z,A-Z,0-9 e \.\,\[\!\@\#\$\%\^\&\*\?\_\~\-\:\;\(\)\[\]\{\}")
  26. if re.search('\d',data):
  27. if re.search('[a-z]',data):
  28. if re.search('[A-Z]',data):
  29. if re.search('[\.\,\[\!\@\#\$\%\^\&\*\?\_\~\-\:\;\(\)\[\]\{\}]',data):
  30. return data
  31. raise forms.ValidationError("Non e' presente almeno un numero, una lettera maiuscola, una minuscola e un simbolo")
  32. def clean_password2(self):
  33. data2 = self.data['password2']
  34. data1 = self.data['password1']
  35. if data2 != data1: raise forms.ValidationError('Confronto Email non riuscito')
  36. return data2