summaryrefslogtreecommitdiff
path: root/web-ui/app/js/mail_view/ui/recipients/recipients_input.js
diff options
context:
space:
mode:
Diffstat (limited to 'web-ui/app/js/mail_view/ui/recipients/recipients_input.js')
-rw-r--r--web-ui/app/js/mail_view/ui/recipients/recipients_input.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/web-ui/app/js/mail_view/ui/recipients/recipients_input.js b/web-ui/app/js/mail_view/ui/recipients/recipients_input.js
index c1c32d77..ef860eb0 100644
--- a/web-ui/app/js/mail_view/ui/recipients/recipients_input.js
+++ b/web-ui/app/js/mail_view/ui/recipients/recipients_input.js
@@ -111,13 +111,18 @@ define([
var value = (data && data.value) || this.$node.val();
var that = this;
_.each(value.split(/[,;]/), function(address) {
- if (!_.isEmpty(address.trim())) {
+ if(that.isValidEmailAddress(address.trim())) {
that.trigger(that.$node, events.ui.recipients.entered, { name: that.attr.name, address: address.trim() });
}
});
reset(this.$node);
};
+ this.isValidEmailAddress = function(address) {
+ // valid emails are in the format: 'user@domain.smt' or 'User <user@domain.smt>'
+ return /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}|[A-Z ]+<[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}>$/i.test(address);
+ };
+
this.init = function () {
this.$node.typeahead({
hint: true,