import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.output.template.Template;
import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.util.CalendarUtil;
import org.cacert.gigi.util.HTMLEncoder;
import org.cacert.gigi.util.Notary;
import org.cacert.gigi.util.PasswordStrengthChecker;
vars.put("radius", radius ? " checked=\"checked\"" : "");
vars.put("helpOnNames", String.format(l.getTranslation("Help on Names %sin the wiki%s"), "<a href=\"//wiki.cacert.org/FAQ/HowToEnterNamesInJoinForm\" target=\"_blank\">", "</a>"));
vars.put("csrf", getCSRFToken());
+ vars.put("dobmin", User.MINIMUM_AGE + "");
t.output(out, l, vars);
}
@Override
public synchronized boolean submit(PrintWriter out, HttpServletRequest req) {
+ if (RegisterPage.RATE_LIMIT.isLimitExceeded(req.getRemoteAddr())) {
+ outputError(out, req, "Rate Limit Exceeded");
+ return false;
+ }
+
update(req);
if (buildupName.getLname().trim().equals("")) {
outputError(out, req, "Last name were blank.");
if ( !myDoB.isValid()) {
outputError(out, req, "Invalid date of birth");
}
+
+ if ( !CalendarUtil.isOfAge(myDoB.getDate(), User.MINIMUM_AGE)) {
+ outputError(out, req, "Entered dated of birth is below the restricted age requirements.");
+ }
+
if ( !"1".equals(req.getParameter("tos_agree"))) {
outputError(out, req, "Acceptance of the ToS is required to continue.");
}
if (isFailed(out)) {
return false;
}
- if (RegisterPage.RATE_LIMIT.isLimitExceeded(req.getRemoteAddr())) {
- outputError(out, req, "Rate Limit Exceeded");
- return false;
- }
try {
run(req, pw1);
} catch (SQLException e) {