setLoginValues(prevValues => ({ ...prevValues, email: e.target.value }))}
@@ -44,7 +44,7 @@ function LoginUser({ loginValues, setLoginValues }) {
setLoginValues(prevValues => ({ ...prevValues, password: e.target.value }))}
diff --git a/183_12_2_tresorfrontend_rupe-master/src/pages/user/RegisterUser.js b/183_12_2_tresorfrontend_rupe-master/src/pages/user/RegisterUser.js
index f8a866c..927db0b 100644
--- a/183_12_2_tresorfrontend_rupe-master/src/pages/user/RegisterUser.js
+++ b/183_12_2_tresorfrontend_rupe-master/src/pages/user/RegisterUser.js
@@ -1,12 +1,12 @@
import React, { useState } from 'react';
import { useNavigate } from 'react-router-dom';
-import {postUser} from "../../comunication/FetchUser";
+import { postUser } from "../../comunication/FetchUser";
/**
* RegisterUser
* @author Peter Rutschmann
*/
-function RegisterUser({loginValues, setLoginValues}) {
+function RegisterUser({ loginValues, setLoginValues }) {
const navigate = useNavigate();
const initialState = {
@@ -25,15 +25,23 @@ function RegisterUser({loginValues, setLoginValues}) {
setErrorMessage('');
//validate
- if(credentials.password !== credentials.passwordConfirmation) {
+ if (credentials.password !== credentials.passwordConfirmation) {
console.log("password != passwordConfirmation");
setErrorMessage('Password and password-confirmation are not equal.');
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});
+ setLoginValues({ userName: credentials.email, password: credentials.password });
setCredentials(initialState);
navigate('/');
} catch (error) {
@@ -47,49 +55,49 @@ function RegisterUser({loginValues, setLoginValues}) {
Register user