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

Commit d895611

Browse files
author
David
committed
added number validator
1 parent 213fd71 commit d895611

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/validationRules.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ const rules = {
2828
}
2929
}
3030
return allValid;
31+
},
32+
isNumber: (values, value) => {
33+
return rules.matchRegexp(values, value, /^-?\d+\.?\d*$/);
3134
}
3235
};
3336
// TODO: add more basic rules

tests/validationRules.spec.js

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,5 +104,30 @@ describe('Validation Rules', () => {
104104
let valid = rules.minLength(null, 'abcde', 6);
105105
expect(valid).toBe(false);
106106
});
107-
})
107+
});
108+
109+
describe('number', () => {
110+
it('should validate a whole number successfully', () => {
111+
let valid = rules.isNumber(null, '10');
112+
expect(valid).toBe(true);
113+
});
114+
it('should validate a negative number successfully', () => {
115+
let valid = rules.isNumber(null, '-50');
116+
expect(valid).toBe(true);
117+
});
118+
it('should validate a decimal number successfully', () => {
119+
let valid = rules.isNumber(null, '10.50');
120+
expect(valid).toBe(true);
121+
});
122+
it('should invalidate the invalid number', () => {
123+
let valid = rules.isNumber(null, '1A0');
124+
expect(valid).toBe(false);
125+
valid = rules.isNumber(null, '');
126+
expect(valid).toBe(false);
127+
valid = rules.isNumber(null, 'abcde');
128+
expect(valid).toBe(false);
129+
valid = rules.isNumber(null, '10.a1');
130+
expect(valid).toBe(false);
131+
});
132+
});
108133
});

0 commit comments

Comments
 (0)