Skip to content
This repository was archived by the owner on Feb 29, 2024. It is now read-only.

Commit 84077a9

Browse files
author
David
committed
added ability to validate number variables too
1 parent d895611 commit 84077a9

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

src/validationRules.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ const rules = {
3030
return allValid;
3131
},
3232
isNumber: (values, value) => {
33-
return rules.matchRegexp(values, value, /^-?\d+\.?\d*$/);
33+
switch(typeof value){
34+
case 'string': return rules.matchRegexp(values, value, /^-?\d+\.?\d*$/);
35+
case 'number': return true;
36+
default: return false;
37+
}
3438
}
3539
};
3640
// TODO: add more basic rules

tests/validationRules.spec.js

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,19 +107,19 @@ describe('Validation Rules', () => {
107107
});
108108

109109
describe('number', () => {
110-
it('should validate a whole number successfully', () => {
110+
it('should validate a whole number strings successfully', () => {
111111
let valid = rules.isNumber(null, '10');
112112
expect(valid).toBe(true);
113113
});
114-
it('should validate a negative number successfully', () => {
114+
it('should validate a negative number strings successfully', () => {
115115
let valid = rules.isNumber(null, '-50');
116116
expect(valid).toBe(true);
117117
});
118-
it('should validate a decimal number successfully', () => {
118+
it('should validate a decimal number strings successfully', () => {
119119
let valid = rules.isNumber(null, '10.50');
120120
expect(valid).toBe(true);
121121
});
122-
it('should invalidate the invalid number', () => {
122+
it('should invalidate the invalid number strings', () => {
123123
let valid = rules.isNumber(null, '1A0');
124124
expect(valid).toBe(false);
125125
valid = rules.isNumber(null, '');
@@ -129,5 +129,31 @@ describe('Validation Rules', () => {
129129
valid = rules.isNumber(null, '10.a1');
130130
expect(valid).toBe(false);
131131
});
132+
it('should validate a whole number successfully', () => {
133+
let valid = rules.isNumber(null, 10);
134+
expect(valid).toBe(true);
135+
});
136+
it('should validate a negative number successfully', () => {
137+
let valid = rules.isNumber(null, -50);
138+
expect(valid).toBe(true);
139+
});
140+
it('should validate a decimal number successfully', () => {
141+
let valid = rules.isNumber(null, 10.50);
142+
expect(valid).toBe(true);
143+
});
144+
it('should invalidate the invalid numbers', () => {
145+
let valid = rules.isNumber(null, {});
146+
expect(valid).toBe(false);
147+
valid = rules.isNumber(null, '');
148+
expect(valid).toBe(false);
149+
valid = rules.isNumber(null, null);
150+
expect(valid).toBe(false);
151+
valid = rules.isNumber(null, undefined);
152+
expect(valid).toBe(false);
153+
valid = rules.isNumber(null, true);
154+
expect(valid).toBe(false);
155+
valid = rules.isNumber(null, () => {});
156+
expect(valid).toBe(false);
157+
});
132158
});
133159
});

0 commit comments

Comments
 (0)