ソースを参照

#675: The emailAddress validator accepts multiple email addresses, thanks to @kenny-evitt

phuoc 11 年 前
コミット
653c27859b

+ 1 - 0
CHANGELOG.md

@@ -5,6 +5,7 @@
 __Improvements__
 
 * [#345](https://github.com/nghuuphuoc/bootstrapvalidator/issues/345), [#454](https://github.com/nghuuphuoc/bootstrapvalidator/pull/454): The [different](http://bootstrapvalidator.com/validators/different/) validator allows more than a 2-way comparison, thanks to [@AlaskanShade](https://github.com/AlaskanShade)
+* [#675](https://github.com/nghuuphuoc/bootstrapvalidator/pull/675): The [emailAddress](http://bootstrapvalidator.com/validators/emailAddress/) validator accepts multiple email addresses, thanks to [@kenny-evitt](https://github.com/kenny-evitt)
 
 __Language Packages__
 

+ 1 - 0
CONTRIBUTORS.md

@@ -26,6 +26,7 @@ I would like to give big thanks to the following contributors:
 * [@gercheq](https://github.com/gercheq)
 * [@grzesiek](https://github.com/grzesiek)
 * [@henningda](https://github.com/henningda)
+* [@kenny-evitt](https://github.com/kenny-evitt)
 * [@ikanedo](https://github.com/ikanedo)
 * [@iplus](https://github.com/iplus)
 * [@jcnmulio](https://github.com/jcnmulio)

+ 1 - 1
dist/css/bootstrapValidator.min.css

@@ -2,7 +2,7 @@
  * BootstrapValidator (http://bootstrapvalidator.com)
  * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3
  *
- * @version     v0.5.2-dev, built on 2014-08-24 11:29:16 AM
+ * @version     v0.5.2-dev, built on 2014-08-24 11:55:54 AM
  * @author      https://twitter.com/nghuuphuoc
  * @copyright   (c) 2013 - 2014 Nguyen Huu Phuoc
  * @license     MIT

+ 59 - 3
dist/js/bootstrapValidator.js

@@ -2,7 +2,7 @@
  * BootstrapValidator (http://bootstrapvalidator.com)
  * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3
  *
- * @version     v0.5.2-dev, built on 2014-08-24 11:29:16 AM
+ * @version     v0.5.2-dev, built on 2014-08-24 11:55:54 AM
  * @author      https://twitter.com/nghuuphuoc
  * @copyright   (c) 2013 - 2014 Nguyen Huu Phuoc
  * @license     MIT
@@ -2590,6 +2590,12 @@
     });
 
     $.fn.bootstrapValidator.validators.emailAddress = {
+        html5Attributes: {
+            message: 'message',
+            multiple: 'multiple',
+            separator: 'separator'
+        },
+
         enableByHtml5: function($field) {
             return ('email' === $field.attr('type'));
         },
@@ -2600,6 +2606,8 @@
          * @param {BootstrapValidator} validator Validate plugin instance
          * @param {jQuery} $field Field element
          * @param {Object} [options]
+         * - multiple: Allow multiple email addresses, separated by a comma or semicolon; default is false.
+         * - separator: Regex for character or characters expected as separator between addresses; default is comma /[,;]/, i.e. comma or semicolon.
          * @returns {Boolean}
          */
         validate: function(validator, $field, options) {
@@ -2610,8 +2618,56 @@
 
             // Email address regular expression
             // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
-            var emailRegExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
-            return emailRegExp.test(value);
+            var emailRegExp   = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
+                allowMultiple = options.multiple === true || options.multiple === 'true';
+
+            if (allowMultiple) {
+                var separator = options.separator || /[,;]/,
+                    addresses = this._splitEmailAddresses(value, separator);
+
+                for (var i = 0; i < addresses.length; i++) {
+                    if (!emailRegExp.test(addresses[i])) {
+                        return false;
+                    }
+                }
+
+                return true;
+            } else {
+                return emailRegExp.test(value);
+            }
+        },
+
+        _splitEmailAddresses: function(emailAddresses, separator) {
+            var quotedFragments     = emailAddresses.split(/"/),
+                quotedFragmentCount = quotedFragments.length,
+                emailAddressArray   = [],
+                nextEmailAddress    = '';
+
+            for (var i = 0; i < quotedFragmentCount; i++) {
+                if (i % 2 === 0) {
+                    var splitEmailAddressFragments     = quotedFragments[i].split(separator),
+                        splitEmailAddressFragmentCount = splitEmailAddressFragments.length;
+
+                    if (splitEmailAddressFragmentCount === 1) {
+                        nextEmailAddress += splitEmailAddressFragments[0];
+                    } else {
+                        emailAddressArray.push(nextEmailAddress + splitEmailAddressFragments[0]);
+
+                        for (var j = 1; j < splitEmailAddressFragmentCount - 1; j++) {
+                            emailAddressArray.push(splitEmailAddressFragments[j]);
+                        }
+                        nextEmailAddress = splitEmailAddressFragments[splitEmailAddressFragmentCount - 1];
+                    }
+                } else {
+                    nextEmailAddress += '"' + quotedFragments[i];
+                    if (i < quotedFragmentCount - 1) {
+                        nextEmailAddress += '"';
+                    }
+                }
+            }
+
+            emailAddressArray.push(nextEmailAddress);
+            return emailAddressArray;
         }
     };
 }(window.jQuery));

ファイルの差分が大きいため隠しています
+ 3 - 3
dist/js/bootstrapValidator.min.js


+ 43 - 42
src/js/validator/emailAddress.js

@@ -4,6 +4,12 @@
     });
 
     $.fn.bootstrapValidator.validators.emailAddress = {
+        html5Attributes: {
+            message: 'message',
+            multiple: 'multiple',
+            separator: 'separator'
+        },
+
         enableByHtml5: function($field) {
             return ('email' === $field.attr('type'));
         },
@@ -14,8 +20,8 @@
          * @param {BootstrapValidator} validator Validate plugin instance
          * @param {jQuery} $field Field element
          * @param {Object} [options]
-         * - allowMultiple: Allow multiple email addresses, separated by a comma or semicolon; default is false.
-         * - separatorRegex: Regex for character or characters expected as separator between addresses; default is comma /[,;]/, i.e. comma or semicolon.
+         * - multiple: Allow multiple email addresses, separated by a comma or semicolon; default is false.
+         * - separator: Regex for character or characters expected as separator between addresses; default is comma /[,;]/, i.e. comma or semicolon.
          * @returns {Boolean}
          */
         validate: function(validator, $field, options) {
@@ -26,61 +32,56 @@
 
             // Email address regular expression
             // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
-            var emailRegExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
-
-            var allowMultiple = options.allowMultiple === true || options.allowMultiple === 'true';
+            var emailRegExp   = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
+                allowMultiple = options.multiple === true || options.multiple === 'true';
 
             if (allowMultiple) {
-                var separatorRegex = options.separatorRegex || /[,;]/;
-                var areValid = true;
-                var addresses = splitEmailAddresses(value, separatorRegex);
+                var separator = options.separator || /[,;]/,
+                    addresses = this._splitEmailAddresses(value, separator);
 
                 for (var i = 0; i < addresses.length; i++) {
-                    areValid = areValid && emailRegExp.test(addresses[i]);
+                    if (!emailRegExp.test(addresses[i])) {
+                        return false;
+                    }
                 }
 
-                return areValid;
-            }
-            else {
+                return true;
+            } else {
                 return emailRegExp.test(value);
             }
-        }
-    };
+        },
 
-    function splitEmailAddresses(emailAddresses, separatorRegex) {
-        var quotedFragments = emailAddresses.split(/"/),
-            quotedFragmentCount = quotedFragments.length,
-            emailAddressArray = [],
-            nextEmailAddress = "";
+        _splitEmailAddresses: function(emailAddresses, separator) {
+            var quotedFragments     = emailAddresses.split(/"/),
+                quotedFragmentCount = quotedFragments.length,
+                emailAddressArray   = [],
+                nextEmailAddress    = '';
 
-        for (var i = 0; i < quotedFragmentCount; i++) {
-            if (i % 2 === 0) {
-                var splitEmailAddressFragments = quotedFragments[i].split(separatorRegex);
-                var splitEmailAddressFragmentCount = splitEmailAddressFragments.length;
+            for (var i = 0; i < quotedFragmentCount; i++) {
+                if (i % 2 === 0) {
+                    var splitEmailAddressFragments     = quotedFragments[i].split(separator),
+                        splitEmailAddressFragmentCount = splitEmailAddressFragments.length;
 
-                if (splitEmailAddressFragmentCount === 1){
-                    nextEmailAddress += splitEmailAddressFragments[0];
-                }
-                else {
-                    emailAddressArray.push(nextEmailAddress + splitEmailAddressFragments[0]);
+                    if (splitEmailAddressFragmentCount === 1) {
+                        nextEmailAddress += splitEmailAddressFragments[0];
+                    } else {
+                        emailAddressArray.push(nextEmailAddress + splitEmailAddressFragments[0]);
 
-                    for (var j = 1; j < splitEmailAddressFragmentCount - 1; j++) {
-                        emailAddressArray.push(splitEmailAddressFragments[j]);
+                        for (var j = 1; j < splitEmailAddressFragmentCount - 1; j++) {
+                            emailAddressArray.push(splitEmailAddressFragments[j]);
+                        }
+                        nextEmailAddress = splitEmailAddressFragments[splitEmailAddressFragmentCount - 1];
+                    }
+                } else {
+                    nextEmailAddress += '"' + quotedFragments[i];
+                    if (i < quotedFragmentCount - 1) {
+                        nextEmailAddress += '"';
                     }
-
-                    nextEmailAddress = splitEmailAddressFragments[splitEmailAddressFragmentCount - 1];
                 }
             }
-            else {
-                nextEmailAddress += '"' + quotedFragments[i];
 
-                if (i < quotedFragmentCount - 1)
-                    nextEmailAddress += '"';
-            }
+            emailAddressArray.push(nextEmailAddress);
+            return emailAddressArray;
         }
-
-        emailAddressArray.push(nextEmailAddress);
-
-        return emailAddressArray;
-    }
+    };
 }(window.jQuery));

+ 50 - 50
test/spec.js

@@ -2376,7 +2376,7 @@ describe('ean', function() {
 });
 
 describe('emailAddress', function() {
-    beforeEach(function () {
+    beforeEach(function() {
         $([
             '<form class="form-horizontal" id="emailAddressForm">',
                 '<div id="msg"></div>',
@@ -2443,18 +2443,18 @@ describe('emailAddress', function() {
         'niceandsimple@example.com;very.common@example.com,a.little.lengthy.but.fine@dept.example.com'
     ];
 
-    it('Valid email addresses (allowMultiple=false)', function() {
-        var me = this;
+    it('Valid email addresses (multiple=false)', function() {
+        var that = this;
         $.each(validEmailAddresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toBeTruthy();
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toBeTruthy();
         });
     });
 
-    it('Invalid email addresses (allowMultiple=false)', function() {
-        var me = this;
+    it('Invalid email addresses (multiple=false)', function() {
+        var that = this;
 
         var addresses = invalidEmailAddresses
                             .concat(validMultipleEmailAddressesForDefaultSeparators)
@@ -2463,16 +2463,16 @@ describe('emailAddress', function() {
                             .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toEqual(false);
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toEqual(false);
         });
     });
 
-    it('Invalid email addresses (allowMultiple=false,separatorRegex=/[,\$]/)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,;]/);
+    it('Invalid email addresses (multiple=false,separator=/[,\$]/)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separator', /[,;]/);
 
         var addresses = invalidEmailAddresses
                             .concat(validMultipleEmailAddressesForDefaultSeparators)
@@ -2481,72 +2481,72 @@ describe('emailAddress', function() {
                             .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toEqual(false);
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toEqual(false);
         });
     });
 
-    it('Valid email addresses (allowMultiple=true)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
+    it('Valid email addresses (multiple=true)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'multiple', true);
 
         var addresses = validEmailAddresses
                             .concat(validMultipleEmailAddressesForDefaultSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toBeTruthy();
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toBeTruthy();
         });
     });
 
-    it('Invalid email addresses (allowMultiple=true)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
+    it('Invalid email addresses (multiple=true)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'multiple', true);
 
         var addresses = invalidEmailAddresses
                             .concat(invalidMultipleEmailAddressesForDefaultSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toEqual(false);
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toEqual(false);
         });
     });
 
-    it('Valid email addresses (allowMultiple=true,separatorRegex=/[,\$]/)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,\$]/);
+    it('Valid email addresses (multiple=true,separator=/[,\$]/)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'multiple', true);
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separator', /[,\$]/);
 
         var addresses = validEmailAddresses
                             .concat(validMultipleEmailAddressesForCommaOrDollarSignSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toBeTruthy();
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toBeTruthy();
         });
     });
 
-    it('Invalid email addresses (allowMultiple=true,separatorRegex=/[,\$]/)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,\$]/);
+    it('Invalid email addresses (multiple=true,separator=/[,\$]/)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'multiple', true);
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separator', /[,\$]/);
 
         var addresses = invalidEmailAddresses
                             .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toEqual(false);
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toEqual(false);
         });
     });
 });

+ 50 - 50
test/spec/validator/emailAddress.js

@@ -1,5 +1,5 @@
 describe('emailAddress', function() {
-    beforeEach(function () {
+    beforeEach(function() {
         $([
             '<form class="form-horizontal" id="emailAddressForm">',
                 '<div id="msg"></div>',
@@ -66,18 +66,18 @@ describe('emailAddress', function() {
         'niceandsimple@example.com;very.common@example.com,a.little.lengthy.but.fine@dept.example.com'
     ];
 
-    it('Valid email addresses (allowMultiple=false)', function() {
-        var me = this;
+    it('Valid email addresses (multiple=false)', function() {
+        var that = this;
         $.each(validEmailAddresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toBeTruthy();
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toBeTruthy();
         });
     });
 
-    it('Invalid email addresses (allowMultiple=false)', function() {
-        var me = this;
+    it('Invalid email addresses (multiple=false)', function() {
+        var that = this;
 
         var addresses = invalidEmailAddresses
                             .concat(validMultipleEmailAddressesForDefaultSeparators)
@@ -86,16 +86,16 @@ describe('emailAddress', function() {
                             .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toEqual(false);
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toEqual(false);
         });
     });
 
-    it('Invalid email addresses (allowMultiple=false,separatorRegex=/[,\$]/)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,;]/);
+    it('Invalid email addresses (multiple=false,separator=/[,\$]/)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separator', /[,;]/);
 
         var addresses = invalidEmailAddresses
                             .concat(validMultipleEmailAddressesForDefaultSeparators)
@@ -104,72 +104,72 @@ describe('emailAddress', function() {
                             .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toEqual(false);
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toEqual(false);
         });
     });
 
-    it('Valid email addresses (allowMultiple=true)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
+    it('Valid email addresses (multiple=true)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'multiple', true);
 
         var addresses = validEmailAddresses
                             .concat(validMultipleEmailAddressesForDefaultSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toBeTruthy();
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toBeTruthy();
         });
     });
 
-    it('Invalid email addresses (allowMultiple=true)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
+    it('Invalid email addresses (multiple=true)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'multiple', true);
 
         var addresses = invalidEmailAddresses
                             .concat(invalidMultipleEmailAddressesForDefaultSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toEqual(false);
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toEqual(false);
         });
     });
 
-    it('Valid email addresses (allowMultiple=true,separatorRegex=/[,\$]/)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,\$]/);
+    it('Valid email addresses (multiple=true,separator=/[,\$]/)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'multiple', true);
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separator', /[,\$]/);
 
         var addresses = validEmailAddresses
                             .concat(validMultipleEmailAddressesForCommaOrDollarSignSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toBeTruthy();
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toBeTruthy();
         });
     });
 
-    it('Invalid email addresses (allowMultiple=true,separatorRegex=/[,\$]/)', function() {
-        var me = this;
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'allowMultiple', true);
-        me.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separatorRegex', /[,\$]/);
+    it('Invalid email addresses (multiple=true,separator=/[,\$]/)', function() {
+        var that = this;
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'multiple', true);
+        that.bv.updateOption('email-address-or-addresses', 'emailAddress', 'separator', /[,\$]/);
 
         var addresses = invalidEmailAddresses
                             .concat(invalidMultipleEmailAddressesForCommaOrDollarSignSeparators);
 
         $.each(addresses, function(index, emailAddress) {
-            me.bv.resetForm();
-            me.$emailAddressOrAddresses.val(emailAddress);
-            me.bv.validate();
-            expect(me.bv.isValid()).toEqual(false);
+            that.bv.resetForm();
+            that.$emailAddressOrAddresses.val(emailAddress);
+            that.bv.validate();
+            expect(that.bv.isValid()).toEqual(false);
         });
     });
 });