diff --git a/lib/validator.js b/lib/validator.js index b0e1934..d411f99 100644 --- a/lib/validator.js +++ b/lib/validator.js @@ -244,6 +244,8 @@ class Validator { keySplit.map((item) => { if (typeof value === 'undefined') { value = this.inputs[item]; + } else if (!value) { + return value; } else { value = value[item]; } diff --git a/test/edge.js b/test/edge.js index 46cd93a..e8efdf7 100644 --- a/test/edge.js +++ b/test/edge.js @@ -28,7 +28,10 @@ describe('Edge Cases', () => { }); it('should reject null and required fields', async () => { - const v = new Validator({ field: null }, { field: 'required|string' }); + const v = new Validator({ field: null }, { + field: 'required|object', + 'field.id': 'required|string' + }); const matched = await v.check(); assert.equal(matched, false);