fix: unify password validation error to show all requirements at once

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
jubnl
2026-04-01 10:14:35 +02:00
parent 44e5f07f59
commit b88a8fcbb5

View File

@@ -18,10 +18,11 @@ export function validatePassword(password: string): { ok: boolean; reason?: stri
return { ok: false, reason: 'Password is too common. Please choose a unique password.' };
}
if (!/[A-Z]/.test(password)) return { ok: false, reason: 'Password must contain at least one uppercase letter' };
if (!/[a-z]/.test(password)) return { ok: false, reason: 'Password must contain at least one lowercase letter' };
if (!/[0-9]/.test(password)) return { ok: false, reason: 'Password must contain at least one number' };
if (!/[^A-Za-z0-9]/.test(password)) return { ok: false, reason: 'Password must contain at least one special character' };
const requirementsMessage = 'Password must contain at least one uppercase letter, one lowercase letter, one number, and one special character';
if (!/[A-Z]/.test(password)) return { ok: false, reason: requirementsMessage };
if (!/[a-z]/.test(password)) return { ok: false, reason: requirementsMessage };
if (!/[0-9]/.test(password)) return { ok: false, reason: requirementsMessage };
if (!/[^A-Za-z0-9]/.test(password)) return { ok: false, reason: requirementsMessage };
return { ok: true };
}