diff --git a/growbros-frontend/src/components/Footer.tsx b/growbros-frontend/src/components/Footer.tsx
deleted file mode 100644
index cc81f271aa523774852d870efd819f0ab8d88e1c..0000000000000000000000000000000000000000
--- a/growbros-frontend/src/components/Footer.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import {NavLink} from "react-router-dom";
-import {deleteCookie} from "../jwt/Cookies.ts";
-
-function Footer() {
-    const handleLogout = () => {
-        deleteCookie('Jwt');
-    };
-    return (
-        <nav>
-            <ul>
-                <div className="navLinks">
-                    <li>
-                        <NavLink to="/home" onClick={handleLogout}>
-                            Ausloggen</NavLink>
-                    </li>
-                </div>
-            </ul>
-        </nav>
-    );
-}
-export default Footer();
\ No newline at end of file
diff --git a/growbros-frontend/src/pages/Login.tsx b/growbros-frontend/src/pages/Login.tsx
index 21c4eed299ff37a0abf020ea54bfdd09f3603792..7a158f613b3d7a0f7bd3fd81b80cbaa172538680 100644
--- a/growbros-frontend/src/pages/Login.tsx
+++ b/growbros-frontend/src/pages/Login.tsx
@@ -16,7 +16,6 @@ function Login() {
         await handleLogin();
     };
     const handleLogin = async () => {
-        try {
             const res = await fetch("http://localhost:8080/api/v1/auth/authenticate",{
                 method:"POST",
                 body:JSON.stringify({email:email,password:password}),
@@ -38,14 +37,18 @@ function Login() {
                 navigate('/');
 
             } else {
-                window.alert(`Fehler bei der Anmeldung: ${res.status} - ${res.statusText}`);
+                const errorBody = await res.json();
+                if (res.status === 400 && errorBody.error === 'InvalidEmailException') {
+                    window.alert("Fehler bei der Anmeldung: Ungültige E-Mail-Adresse.");
+                    console.error('Fehler bei der Anmeldung: Ungültige E-Mail-Adresse.');
+                } else {
+                    window.alert(`Fehler bei der Anmeldung: ${res.status} - ${res.statusText}`);
+                    console.error('Fehler bei der Anmeldung:', res.status, res.statusText);
+                }
+
                 navigate('/login');
-                console.error('Fehler bei der Anmeldung:', res.status, res.statusText);
-            }
 
-        } catch (error:any) {
-            console.error('Fehler bei der Anmeldung:', error.message);
-        }
+            }
     };
 
     return (
diff --git a/growbros-frontend/src/pages/Register.tsx b/growbros-frontend/src/pages/Register.tsx
index 7f56bc005e2128523104bd9df77fa5a4b6ee5049..cfb54045f8d85871541ef52f86fbf20a9008c872 100644
--- a/growbros-frontend/src/pages/Register.tsx
+++ b/growbros-frontend/src/pages/Register.tsx
@@ -44,17 +44,17 @@ function Register() {
         e.preventDefault(); //verhindert, dass die Seite neu geladen wird, wenn das Formular abgeschickt wird
 
         if (!isValidEmail(email)) {
-            openErrorModal('Ungültige E-Mail-Adresse');
+            openErrorModal('Ungültige E-Mail-Adresse. Frontend');
             return;
         }
 
         if (!isValidName(firstname) || !isValidName(lastname)) {
-            openErrorModal('Vorname und Nachname dürfen nicht leer sein');
+            openErrorModal('Vorname und Nachname dürfen nicht leer sein. Frontend');
             return;
         }
 
         if (!isValidPassword(password)) {
-            openErrorModal('Das Passwort muss mindestens 4 Zeichen lang sein');
+            openErrorModal('Das Passwort muss mindestens 4 Zeichen lang sein. Frontend');
             return;
         }
         await handleRegister();
@@ -64,31 +64,45 @@ function Register() {
         console.log("handle register")
         try {
             const requestBody = {
-                firstname:firstname,
-                lastname:lastname,
-                email:email,
-                password:password
+                firstname: firstname,
+                lastname: lastname,
+                email: email,
+                password: password
             };
             console.log(requestBody)
             const res = await fetch("http://localhost:8080/api/v1/auth/register", {
-                    method:"POST",
+                    method: "POST",
                     headers: {
                         "Content-Type": "application/json"
                     },
-                    body:JSON.stringify(requestBody
-                    )}
+                    body: JSON.stringify(requestBody)
+                }
             )
-            const {token} = await res.json();
-            console.log("Jwt Token not decoded"+token);
-            const decodedToken = jwtDecode(token);
-            // @ts-ignore
-            const expirationDate = new Date(decodedToken.exp * 1000); //*1000 Anzahl der Sekunden seit 1.1.1970 darstellt - JS arbeitet jedoch normalerweise mit Millisekunden
-            setCookie("Jwt",token, expirationDate);
-            console.log("Jwt decoded " + decodedToken);
-            navigate('/');
-        } catch (error:any) {
-            console.error('Fehler bei der Anmeldung:', error.message);
-            console.dir(error)
+            if (res.ok) {
+                const {token} = await res.json();
+                console.log("Jwt Token not decoded" + token);
+                const decodedToken = jwtDecode(token);
+                // @ts-ignore
+                const expirationDate = new Date(decodedToken.exp * 1000); //*1000 Anzahl der Sekunden seit 1.1.1970 darstellt - JS arbeitet jedoch normalerweise mit Millisekunden
+                setCookie("Jwt", token, expirationDate);
+                console.log("Jwt decoded " + decodedToken);
+                navigate('/');
+            } else {
+                const errorBody = await res.json();
+                if (res.status === 400 && errorBody.error === 'InvalidEmailException') {
+                    window.alert("Fehler bei der Anmeldung: Ungültige E-Mail-Adresse.");
+                    console.error('Fehler bei der Anmeldung: Ungültige E-Mail-Adresse.');
+                } else if (res.status === 409 && errorBody.error === 'DataIntegrityViolationException') {
+                    window.alert("Fehler bei der Anmeldung: E-Mail-Adresse bereits vorhanden.");
+                    console.error('Fehler bei der Anmeldung: E-Mail-Adresse bereits vorhanden.');
+
+                } else {
+                    window.alert(`Fehler bei der Anmeldung: ${res.status} - ${res.statusText}`);
+                    console.error('Fehler bei der Anmeldung:', res.status, res.statusText);
+                }
+            }
+
+        } catch (e) {
         }
     };
 
diff --git a/src/main/java/hdm/mi/growbros/auth/AuthenticationService.java b/src/main/java/hdm/mi/growbros/auth/AuthenticationService.java
index 9cba3736e0de8b1adadc8ddd73b2a57a6fd31ec1..5eefc1fbc13466a3c0abd13d0b7caa13d7074ad9 100644
--- a/src/main/java/hdm/mi/growbros/auth/AuthenticationService.java
+++ b/src/main/java/hdm/mi/growbros/auth/AuthenticationService.java
@@ -1,5 +1,7 @@
 package hdm.mi.growbros.auth;
 
+import hdm.mi.growbros.exceptions.InvalidDataException;
+import hdm.mi.growbros.exceptions.InvalidEmailException;
 import hdm.mi.growbros.models.user.Role;
 import hdm.mi.growbros.models.user.User;
 import hdm.mi.growbros.models.user.UserRepository;
@@ -9,6 +11,8 @@ import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 @Service
 @RequiredArgsConstructor
@@ -24,6 +28,19 @@ public class AuthenticationService {
      * @return
      */
     public AuthenticationResponse register(RegisterRequest request) {
+
+        if (!isValidEmail(request.getEmail())) {
+            throw new InvalidEmailException("Ungültige E-Mail-Adresse. Backend");
+        }
+
+        if (request.getFirstname().length() < 4 ) {
+            throw new InvalidDataException("Vorname muss mindestens 4 Zeichen lang sein. Backend");
+        }
+
+        if (request.getLastname().length() < 4) {
+            throw new InvalidDataException("Nachname muss mindestens 4 Zeichen lang sein. Backend");
+        }
+
         var user = User.builder()
                 .firstname(request.getFirstname())
                 .lastname(request.getLastname())
@@ -53,4 +70,12 @@ public class AuthenticationService {
                 .token(jwtToken)
                 .build();
     }
+
+    private boolean isValidEmail(String email) {
+        String emailRegex = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}$";
+        Pattern pattern = Pattern.compile(emailRegex);
+        Matcher matcher = pattern.matcher(email);
+        return matcher.matches();
+    }
+
 }
diff --git a/src/main/java/hdm/mi/growbros/exceptions/InvalidDataException.java b/src/main/java/hdm/mi/growbros/exceptions/InvalidDataException.java
new file mode 100644
index 0000000000000000000000000000000000000000..294be0649c56b73df3a9b22551a3d49b451b2968
--- /dev/null
+++ b/src/main/java/hdm/mi/growbros/exceptions/InvalidDataException.java
@@ -0,0 +1,8 @@
+package hdm.mi.growbros.exceptions;
+
+public class InvalidDataException extends RuntimeException{
+    public InvalidDataException(String message) {
+        super(message);
+    }
+}
+
diff --git a/src/main/java/hdm/mi/growbros/exceptions/InvalidEmailException.java b/src/main/java/hdm/mi/growbros/exceptions/InvalidEmailException.java
new file mode 100644
index 0000000000000000000000000000000000000000..34a7752f84ee19022b2fab3b92920b52f67126d8
--- /dev/null
+++ b/src/main/java/hdm/mi/growbros/exceptions/InvalidEmailException.java
@@ -0,0 +1,7 @@
+package hdm.mi.growbros.exceptions;
+
+public class InvalidEmailException extends RuntimeException{
+    public InvalidEmailException(String message) {
+        super(message);
+    }
+}
diff --git a/src/main/java/hdm/mi/growbros/security/ApplicationConfig.java b/src/main/java/hdm/mi/growbros/security/ApplicationConfig.java
index cdcfea21e3eea3034feaa74ce26c54c11afa49f9..22a72c69b6e3d1dc465f5c66db24624e2fe2e6f8 100644
--- a/src/main/java/hdm/mi/growbros/security/ApplicationConfig.java
+++ b/src/main/java/hdm/mi/growbros/security/ApplicationConfig.java
@@ -17,7 +17,7 @@ import org.springframework.security.crypto.password.PasswordEncoder;
 @RequiredArgsConstructor
 public class ApplicationConfig {
     private final UserRepository repository;
-    @Bean //Schnittstelle die verwendet wird, um Benutzerdetails zu laden
+    @Bean
     public UserDetailsService userDetailsService() {
         return username -> repository.findByEmail(username)
                 .orElseThrow(() -> new UsernameNotFoundException("User not found"));