diff --git a/lib/attribute.js b/lib/attribute.js index 98a7c68..0588dcc 100644 --- a/lib/attribute.js +++ b/lib/attribute.js @@ -737,6 +737,9 @@ validators.dependencies = function validateDependencies (instance, schema, optio * @return {ValidatorResult|null} */ validators['enum'] = function validateEnum (instance, schema, options, ctx) { + if(!schema['enum']) { + return null; + } if (!(schema['enum'] instanceof Array)) { throw new SchemaError("enum expects an array", schema); } diff --git a/test/attributes.js b/test/attributes.js index b29154b..fac7edb 100644 --- a/test/attributes.js +++ b/test/attributes.js @@ -294,6 +294,11 @@ describe('Attributes', function () { it('should validate if a required field has a value out of enum', function () { return this.validator.validate({'the_field':'bar'}, {'type': 'object', 'properties':{'the_field': {'enum': ['foo', 'bar', 'baz'], 'required': true}}}).valid.should.be.true; }); + + it('should validate if number enum is undefined', function () { + return this.validator.validate(1, {'type': 'number', 'enum': undefined}).valid.should.be.true; + }); + }); describe('description', function () {