From 6f003baaed22d74bb7739535be631e0b19dbceac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Borrego=20P=C3=A9rez?= Date: Thu, 1 Aug 2019 11:09:53 +0200 Subject: [PATCH] Consider numbers in the required validation --- lib/src/rules/required.ts | 2 +- lib/src/rules/spec/required.spec.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/src/rules/required.ts b/lib/src/rules/required.ts index ae93bc3..f73e29e 100644 --- a/lib/src/rules/required.ts +++ b/lib/src/rules/required.ts @@ -17,7 +17,7 @@ export const required: FieldValidationFunction = (value, vm, customParams: Requi function isValidField(value, trim: boolean): boolean { return typeof value === 'string' ? isStringValid(value, trim) : - value === true; + value === true || typeof value === "number"; } function isStringValid(value: string, trim: boolean): boolean { diff --git a/lib/src/rules/spec/required.spec.ts b/lib/src/rules/spec/required.spec.ts index e1a9a80..3ce0292 100644 --- a/lib/src/rules/spec/required.spec.ts +++ b/lib/src/rules/spec/required.spec.ts @@ -63,6 +63,20 @@ describe('[required] validation rule tests =>', () => { expect(validationResult.errorMessage).to.be.empty; }); + it('should return true if typeof value is number', () => { + // Arrange + const value = 1; + const vm = undefined; + const customParams: RequiredParams = undefined; + + // Act + const validationResult = required(value, vm, customParams) as FieldValidationResult; + + // Assert + expect(validationResult.succeeded).to.be.true; + expect(validationResult.type).to.be.equals('REQUIRED'); + expect(validationResult.errorMessage).to.be.empty; + }); }); describe('When validating a string value', () => {