Bladeren bron

Ajout de règles pour la validation des mots de passe. #13

Je vous conseille d'avoir un bon gestionnaire de mots de passe du coup 
:D
master
Darks 4 maanden geleden
bovenliggende
commit
adf4b99a9b
Getekend door: Darks <l.gatin@neuf.fr> GPG sleutel-ID: F61F10FA138E797C
1 gewijzigde bestanden met toevoegingen van 34 en 3 verwijderingen
  1. 34
    3
      app/utils/validators.py

+ 34
- 3
app/utils/validators.py Bestand weergeven

@@ -50,9 +50,40 @@ def email(form, email):


def password(form, password):
if len(password.data) != 0 and len(password.data) < 10:
raise ValidationError('Mot de passe est trop court (10 caractères minimum).')
# TODO: add more rules >:]
MIN_CHARS = 10
# To avoid errors in forms where password is optionnal
if len(password.data) != 0:
errors = []
if len(password.data) < MIN_CHARS:
errors.append(f'Le mot de passe doit faire au moins {MIN_CHARS} caractères.')

checks = {
'lower': False,
'upper': False,
'numeric': False,
'other': False
}
for c in password.data:
if c in "abcdefghijklmnopqrstuvwxyz":
checks['lower'] = True
elif c in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
checks['upper'] = True
elif c in "0123456789":
checks['numeric'] = True
else:
checks['other'] = True

if not checks['lower']:
errors.append('Le mot de passe doit contenir au moins une minuscule.')
if not checks['upper']:
errors.append('Le mot de passe doit contenir au moins une majuscule.')
if not checks['numeric']:
errors.append('Le mot de passe doit contenir au moins une chiffre.')
if not checks['other']:
errors.append('Le mot de passe doit contenir au moins un caractère spécial.')

if errors != []:
raise ValidationError(' '.join(errors))


def avatar(form, avatar):

Laden…
Annuleren
Opslaan