diff --git a/.classpath b/.classpath index 58268ae..334472e 100644 --- a/.classpath +++ b/.classpath @@ -1,11 +1,6 @@ - - - - - @@ -13,5 +8,6 @@ + diff --git a/build/classes/.gitignore b/build/classes/.gitignore index 16d999e..9be5c10 100644 --- a/build/classes/.gitignore +++ b/build/classes/.gitignore @@ -1,3 +1,4 @@ +/testing/ +/model/ /businesslogic/ /controller/ -/model/ diff --git a/build/classes/controller/SignUpController.class b/build/classes/controller/SignUpController.class index 699adbf..86f702c 100644 Binary files a/build/classes/controller/SignUpController.class and b/build/classes/controller/SignUpController.class differ diff --git a/src/businesslogic/RegistrationValidation.java b/src/businesslogic/RegistrationValidation.java index f716384..7391940 100644 --- a/src/businesslogic/RegistrationValidation.java +++ b/src/businesslogic/RegistrationValidation.java @@ -1,2 +1,35 @@ package businesslogic; +import java.util.regex.*; + +public class RegistrationValidation { + + public boolean checkUserDetails(String email, String password, String confirmPassword) { + + boolean pass = validPassword(password, confirmPassword); + boolean eml = validEmail(email); + + return (pass && eml); + } + + private boolean validPassword(String password, String confirmPassword) { + + if(!password.equals(confirmPassword) || password.equals("")) + return false; + else if(!(password.length() >= 8 && password.length() <= 20)) + return false; + else if(!Pattern.matches("^(?=.*\\d)(?=.*[@])(?=.*[a-z])(?=.*[A-Z]).{8,20}$", password)) + return false; + else + return true; + + } + + private boolean validEmail(String email) { + + if(Pattern.matches("^(.+)@(.+)$", email)) + return true; + else + return false; + } +} diff --git a/src/businesslogic/ValidateUser.java b/src/businesslogic/ValidateUser.java index 53e7b75..8f897c5 100644 --- a/src/businesslogic/ValidateUser.java +++ b/src/businesslogic/ValidateUser.java @@ -1,6 +1,5 @@ package businesslogic; -/* public class ValidateUser { @@ -16,4 +15,3 @@ public boolean validate(String email, String password) { } -*/ \ No newline at end of file diff --git a/src/controller/SignUpController.java b/src/controller/SignUpController.java index cbc0542..90ba48e 100644 --- a/src/controller/SignUpController.java +++ b/src/controller/SignUpController.java @@ -10,6 +10,9 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import businesslogic.RegistrationValidation; +import model.User; + @@ -31,12 +34,13 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) t protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - /* String email = request.getParameter("email"); + String email = request.getParameter("email"); String password = request.getParameter("password"); String confirmPassword = request.getParameter("confirmPassword"); LocalDateTime date= LocalDateTime.now(); - + RegistrationValidation checkUser = new RegistrationValidation(); + checkUser.checkUserDetails(email, password, confirmPassword); if(checkUser.checkUserDetails(email, password, confirmPassword)) { @@ -58,7 +62,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) rd.forward(request, response); } - */ + } } diff --git a/src/model/User.java b/src/model/User.java index d823a56..bd99fcc 100644 --- a/src/model/User.java +++ b/src/model/User.java @@ -1 +1,36 @@ package model; +import java.time.LocalDateTime; + +public class User{ + + String email; + String password; + LocalDateTime date; + + public User(String email, String password, LocalDateTime date) { + this.email = email; + this.password = password; + this.date = date; + } + + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } + public LocalDateTime getDate() { + return date; + } + public void setDate(LocalDateTime date) { + this.date = date; + } + + +} \ No newline at end of file