diff --git a/ChangeLog b/ChangeLog index fc7a69987..4fb6ba151 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,9 @@ 2010-06-30 Francis Lachapelle + * UI/WebServerResources/UIxPreferences.js (savePreferences): added + email validation of forward address (if enabled). + * UI/WebServerResources/MailerUI.js (onDocumentKeydown): improved scrolling when using the arrows keys. diff --git a/UI/WebServerResources/UIxMailToSelection.js b/UI/WebServerResources/UIxMailToSelection.js index 20a1a94ac..06a5ae16e 100644 --- a/UI/WebServerResources/UIxMailToSelection.js +++ b/UI/WebServerResources/UIxMailToSelection.js @@ -134,8 +134,6 @@ function addressFieldLostFocus(sender) { var addresses = sender.value.split(','); if (addresses.length > 0) { - var emailRE = /^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$/i; - var first = true; for (var i = 0; i < addresses.length; i++) { var words = addresses[i].split(' '); @@ -143,6 +141,7 @@ function addressFieldLostFocus(sender) { for (var j = 0; j < words.length; j++) { var word = words[j].strip().replace(/<(.+)>/, "$1"); if (word.length > 0) { + // Use the regexp defined in generic.js if (emailRE.test(word)) { phrase.push('<' + word + '>'); if (first) { diff --git a/UI/WebServerResources/UIxPreferences.js b/UI/WebServerResources/UIxPreferences.js index 0d65c6ae0..e8b713140 100644 --- a/UI/WebServerResources/UIxPreferences.js +++ b/UI/WebServerResources/UIxPreferences.js @@ -35,7 +35,7 @@ function savePreferences(sender) { } if ($("enableForward") && $("enableForward").checked) { - if ($("forwardAddress").value.strip().length == 0) { + if (!emailRE.test($("forwardAddress").value)) { alert(_("Please specify an address to which you want to forward your messages.")); sendForm = false; } diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index e83af18ab..d8056e0e0 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -45,6 +45,10 @@ var Alarms = new Array(); var activeAjaxRequests = 0; var removeFolderRequestCount = 0; +// Email validation regexp +var emailRE = /^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$/i; + + function createElement(tagName, id, classes, attributes, htmlAttributes, parentNode) {