diff --git a/src/us/phone/us-phone.js b/src/us/phone/us-phone.js index 0dbcd2d5..48702f14 100644 --- a/src/us/phone/us-phone.js +++ b/src/us/phone/us-phone.js @@ -23,7 +23,7 @@ module.exports = maskFactory({ }, validations: { usPhoneNumber: function(value) { - return value.length > 9; + return value && value.toString().length > 9; } } }); diff --git a/src/us/phone/us-phone.test.js b/src/us/phone/us-phone.test.js index c868530a..a690547f 100644 --- a/src/us/phone/us-phone.test.js +++ b/src/us/phone/us-phone.test.js @@ -52,4 +52,17 @@ describe('ui-us-phone-mask', function() { expect(model.$modelValue).toBe(test.modelValue); }); }); + + it('should validate a phone number', function() { + var input = TestUtil.compile('', { + model: 30112 + }); + var model = input.controller('ngModel'); + expect(model.$valid).toBe(false); + expect(model.$error.usPhoneNumber).toBe(true); + input.val(3011201034).triggerHandler('input'); + expect(model.$valid).toBe(true); + expect(model.$error.usPhoneNumber).toBeUndefined(); + }); + });