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:
@@ -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 };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user