from django import forms from .models import * import re from configurazione.views import * class LoginUser(forms.Form): def __init__(self,*args,**kwargs): forms.Form.__init__(self,*args,**kwargs) self.fields['username'] = forms.CharField(required=True) self.fields['password'] = forms.CharField(required=True,widget=forms.PasswordInput) class NuoveCredenziali(forms.Form): def __init__(self,*args,**kwargs): forms.Form.__init__(self,*args,**kwargs) self.fields['password1'] = forms.CharField(required=True,widget=forms.PasswordInput) self.fields['password2'] = forms.CharField(required=True,widget=forms.PasswordInput) def clean_password1(self): # password uguali nei due campi data = self.data['password1'] if data != self.data['password2']: raise forms.ValidationError("I due campi password devono essere uguali") # lunghezza password if len(data.strip()) < int(getConfigurazione('mail_password_length')): raise forms.ValidationError("Password troppo corta!") # presenza di spazi non validi if re.search('\s',data): raise forms.ValidationError("Sono presenti caratteri non validi. I caratteri accettati sono: a-z,A-Z,0-9 e \.\,\[\!\@\#\$\%\^\&\*\?\_\~\-\:\;\(\)\[\]\{\}") if re.search('\d',data): if re.search('[a-z]',data): if re.search('[A-Z]',data): if re.search('[\.\,\[\!\@\#\$\%\^\&\*\?\_\~\-\:\;\(\)\[\]\{\}]',data): return data raise forms.ValidationError("Non e' presente almeno un numero, una lettera maiuscola, una minuscola e un simbolo") def clean_password2(self): data2 = self.data['password2'] data1 = self.data['password1'] if data2 != data1: raise forms.ValidationError('Confronto Email non riuscito') return data2