password policy

This commit is contained in:
Lorenz Hohermuth 2025-06-06 09:06:58 +02:00
parent 5ac961330e
commit 0ea0b8b3c6
2 changed files with 53 additions and 45 deletions

View File

@ -33,7 +33,7 @@ function LoginUser({ loginValues, setLoginValues }) {
<div>
<label>Email:</label>
<input
type="text"
type="email"
value={loginValues.email}
onChange={(e) =>
setLoginValues(prevValues => ({ ...prevValues, email: e.target.value }))}
@ -44,7 +44,7 @@ function LoginUser({ loginValues, setLoginValues }) {
<div>
<label>Password:</label>
<input
type="text"
type="password"
value={loginValues.password}
onChange={(e) =>
setLoginValues(prevValues => ({ ...prevValues, password: e.target.value }))}

View File

@ -31,6 +31,14 @@ function RegisterUser({loginValues, setLoginValues}) {
return;
}
const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]).{8,}$/;;
if (!passwordRegex.test(credentials.password)) {
setErrorMessage('Password must contain at least one uppercase letter, one lowercase letter, one number, and one special character.');
return;
}
try {
await postUser(credentials);
setLoginValues({ userName: credentials.email, password: credentials.password });
@ -73,7 +81,7 @@ function RegisterUser({loginValues, setLoginValues}) {
<div>
<label>Email:</label>
<input
type="text"
type="email"
value={credentials.email}
onChange={(e) =>
setCredentials(prevValues => ({ ...prevValues, email: e.target.value }))}
@ -86,7 +94,7 @@ function RegisterUser({loginValues, setLoginValues}) {
<div>
<label>Password:</label>
<input
type="text"
type="password"
value={credentials.password}
onChange={(e) =>
setCredentials(prevValues => ({ ...prevValues, password: e.target.value }))}
@ -97,7 +105,7 @@ function RegisterUser({loginValues, setLoginValues}) {
<div>
<label>Password confirmation:</label>
<input
type="text"
type="password"
value={credentials.passwordConfirmation}
onChange={(e) =>
setCredentials(prevValues => ({ ...prevValues, passwordConfirmation: e.target.value }))}