diff --git a/app/main.py b/app/main.py index 5672807..ed97551 100644 --- a/app/main.py +++ b/app/main.py @@ -76,6 +76,14 @@ def signup(): username = request.form["username"] password = request.form["password"] + # Verify the password meets requirements + if len(password) < 8: + return {"status": "Password must be at least 8 characters"} + if not any(char.isdigit() for char in password): + return {"status": "Password must contain at least one digit"} + if not any(char.isupper() for char in password): + return {"status": "Password must contain at least one uppercase letter"} + # Get database session db = SessionLocal() diff --git a/app/templates/signup.html b/app/templates/signup.html index 0d2aebd..a6d8fbf 100644 --- a/app/templates/signup.html +++ b/app/templates/signup.html @@ -7,7 +7,7 @@
-

User already exists. Please try again

+

@@ -15,6 +15,7 @@

Already have an account? Log in now

+

Passwords must be at least 8 characters long and contain a number, special character, and uppercase character.

@@ -33,6 +34,7 @@ left: 50%; transform: translate(-50%, -50%); text-align: center; + max-width: 330px; } input { @@ -104,6 +106,7 @@ if (data.status != "success") { document.getElementById('error').style.display = 'block'; + document.getElementById('error').innerText = data.status; } else { window.location.href = '/dashboard'; }