diff --git a/server/src/services/passwordPolicy.ts b/server/src/services/passwordPolicy.ts index ad817d1..9b20143 100644 --- a/server/src/services/passwordPolicy.ts +++ b/server/src/services/passwordPolicy.ts @@ -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 }; }