Commit cd2a7cd0 by Vedran Karačić Committed by GitHub

Merge pull request #955 from edx/vkaracic/SOL-2034

Add email validation for coupon form.
parents 53425be3 d21a3d89
......@@ -108,7 +108,11 @@ define([
return Backbone.Validation.messages.seat_types;
}
},
email_domains: {required: false},
email_domains: {
pattern:
/^((xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}(,((xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,})*$/,
required: false
},
start_date: function (val) {
var startDate,
endDate;
......
......@@ -112,6 +112,30 @@ define([
model.validate();
expect(model.isValid()).toBeTruthy();
});
it('should validate email domain.', function() {
var invalid_domains = [
'-invalid.com', 'invalid', 'invalid-.com', 'invalid.c',
'valid.com,', 'invalid.photography1', 'valid.com,invalid',
'valid.com,invalid-.com', 'valid.com,-invalid.com', 'in--valid.com',
'in..valid.com', 'valid.com,invalid.c', 'invalid,valid.com'
],
valid_domains = [
'valid.com', 'valid.co', 'valid-domain.com',
'valid.photography', 'valid.com,valid.co'
];
_.each(invalid_domains, function(domain) {
model.set('email_domains', domain);
model.validate();
expect(model.isValid()).toBeFalsy();
});
_.each(valid_domains, function(domain) {
model.set('email_domains', domain);
model.validate();
expect(model.isValid()).toBeTruthy();
});
});
});
describe('test model methods', function () {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment