]> WPIA git - gigi.git/commitdiff
UPD: Implicit mail validity check
authorJanis Streib <janis@dogcraft.de>
Thu, 24 Jul 2014 22:27:19 +0000 (00:27 +0200)
committerFelix Dörre <felix@dogcraft.de>
Thu, 24 Jul 2014 23:44:48 +0000 (01:44 +0200)
src/org/cacert/gigi/EmailAddress.java
src/org/cacert/gigi/pages/account/MailAddForm.java

index 6d91e219f1d5d34d8f78a0c4fc2e9fe9d775db49..a2a7e5801d8566ef88b5c7fd59840650a77204d1 100644 (file)
@@ -33,6 +33,9 @@ public class EmailAddress {
        }
 
        public EmailAddress(String address, User owner) {
+               if (!EmailProvider.MAIL.matcher(address).matches()) {
+                       throw new IllegalArgumentException("Invalid email.");
+               }
                this.address = address;
                this.owner = owner;
                this.hash = RandomToken.generateToken(16);
index 611fa76930db299e69156036adbb5de7195acf1a..14f5ddba245cc6faa6eed06c86307dc716e17b1c 100644 (file)
@@ -8,7 +8,6 @@ import javax.servlet.http.HttpServletRequest;
 import org.cacert.gigi.EmailAddress;
 import org.cacert.gigi.Language;
 import org.cacert.gigi.User;
-import org.cacert.gigi.email.EmailProvider;
 import org.cacert.gigi.output.Form;
 import org.cacert.gigi.output.template.Template;
 import org.cacert.gigi.pages.Page;
@@ -29,14 +28,14 @@ public class MailAddForm extends Form {
        @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)
+               mail = formMail;
+               try {
+                       EmailAddress addr = new EmailAddress(mail, target);
+                       addr.insert(Page.getLanguage(req));
+               } catch (IllegalArgumentException e) {
                        out.println("<div class='formError'>Error: Invalid address!</div>");
                        return false;
                }
-               mail = formMail;
-               EmailAddress addr = new EmailAddress(mail, target);
-               addr.insert(Page.getLanguage(req));
                return true;
        }