- private static Template t;
- private String mail;
- static {
- t = new Template(ChangePasswordPage.class.getResource("MailAddForm.templ"));
- }
- User target;
-
- public MailAddForm(HttpServletRequest hsr, User target) {
- super(hsr);
- this.target = target;
- }
-
- @Override
- public boolean submit(PrintWriter out, HttpServletRequest req) {
- String formMail = req.getParameter("newemail");
- if (!EmailProvider.MAIL.matcher(formMail).matches()) {
- // TODO Proper error output (css, maybe abstract)
- out.println("<b>Error: Invalid address!</b>");
- return false;
- }
- mail = formMail;
- EmailAddress addr = new EmailAddress(mail, target, RandomToken.generateToken(16));
- addr.insert(Page.getLanguage(req));
- return true;
- }
-
- @Override
- protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
- t.output(out, l, vars);
- }
+
+ private static Template t;
+
+ private String mail;
+ static {
+ t = new Template(ChangePasswordPage.class.getResource("MailAddForm.templ"));
+ }
+
+ private User target;
+
+ public MailAddForm(HttpServletRequest hsr, User target) {
+ super(hsr);
+ this.target = target;
+ }
+
+ @Override
+ public boolean submit(PrintWriter out, HttpServletRequest req) {
+ String formMail = req.getParameter("newemail");
+ mail = formMail;
+ try {
+ EmailAddress addr = new EmailAddress(target, mail);
+ addr.insert(Page.getLanguage(req));
+ } catch (IllegalArgumentException e) {
+ out.println("<div class='formError'>Error: Invalid address!</div>");
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
+ t.output(out, l, vars);
+ }