diff --git a/PROF-XXI FW Tool/client/src/components/pages/validation/registration/RegistrationForm.js b/PROF-XXI FW Tool/client/src/components/pages/validation/registration/RegistrationForm.js
new file mode 100644
index 0000000000000000000000000000000000000000..16d2217e050c60080867c1ae06e486c17cae0f4b
--- /dev/null
+++ b/PROF-XXI FW Tool/client/src/components/pages/validation/registration/RegistrationForm.js	
@@ -0,0 +1,41 @@
+import { useState, useEffect } from "react";
+
+const RegistrationForm = (Submit, validateRegistration) => {
+  const [user, setUser] = useState({
+    organizationName: "",
+    universityWebsite: "",
+    firstName: "",
+    lastName: "",
+    position: "Teacher",
+    profile: "",
+    email: "",
+    password: "",
+  });
+
+  const [errors, setErrors] = useState({});
+  const [isSubmitting, setIsSubmitting] = useState(false);
+
+  const handleChange = (e) => {
+    const fieldName = e.target.name;
+    const fieldValue = e.target.value;
+    setUser({ ...user, [fieldName]: fieldValue });
+  };
+
+  const handleSubmit = (e) => {
+    e.preventDefault();
+    setErrors(validateRegistration(user));
+    setIsSubmitting(true);
+  };
+
+  useEffect(() => {
+    // console.log(errors);
+    // console.log(isSubmitting);
+    if (Object.keys(errors).length === 0 && isSubmitting) {
+      Submit();
+    }
+  }, [errors]);
+
+  return { handleChange, handleSubmit, user, errors };
+};
+
+export default RegistrationForm;