Added more registration cheks

This commit is contained in:
Norbi Peti 2016-07-21 13:55:35 +02:00
parent ab4fcf9fd2
commit c408a568bb

View file

@ -5,6 +5,8 @@ import java.util.HashMap;
import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpExchange;
import io.github.norbipeti.chat.server.IOHelper; import io.github.norbipeti.chat.server.IOHelper;
import io.github.norbipeti.chat.server.db.DataProvider;
import io.github.norbipeti.chat.server.db.domain.User;
public class RegisterPage extends Page { public class RegisterPage extends Page {
@Override @Override
@ -12,14 +14,27 @@ public class RegisterPage extends Page {
HashMap<String, String> post = IOHelper.GetPOST(exchange); HashMap<String, String> post = IOHelper.GetPOST(exchange);
if (post.size() > 0) { if (post.size() > 0) {
String errormsg = CheckValues(post, "name", "email", "pass", "pass2"); String errormsg = CheckValues(post, "name", "email", "pass", "pass2");
if (errormsg.length() == 0) { if (errormsg.length() > 0) {
// Process register
String successmsg = "";
IOHelper.SendModifiedPage(200, this, "<successmsg />", successmsg, exchange);
return; // TODO: Only show tag when needed
} else
IOHelper.SendModifiedPage(200, this, "<errormsg />", errormsg, exchange); IOHelper.SendModifiedPage(200, this, "<errormsg />", errormsg, exchange);
return; return; // TODO: Use JavaScript too, for error checks
}
String successmsg = "";
try (DataProvider provider = new DataProvider()) {
for (User user : provider.getUsers()) {
if (post.get("email").equals(user.getEmail())) {
errormsg += "<p>An user with this name already exists</p>";
break;
}
}
if (!post.get("pass").equals(post.get("pass2")))
errormsg += "<p>The passwords don't match</p>";
}
if (errormsg.length() > 0) {
IOHelper.SendModifiedPage(200, this, "<errormsg />", errormsg, exchange);
return;
}
IOHelper.SendModifiedPage(200, this, "<successmsg />", successmsg, exchange);
return; // TODO: Only show tag when needed
} }
IOHelper.SendPage(200, this, exchange); IOHelper.SendPage(200, this, exchange);
} }