diff --git a/packages/strickland/src/max.js b/packages/strickland/src/max.js index 8d110df..23175c5 100644 --- a/packages/strickland/src/max.js +++ b/packages/strickland/src/max.js @@ -31,8 +31,10 @@ export default function max(maxProp, validatorProps) { if (isFalsyButNotZero(value)) { // Empty values are always valid except with the required validator + } else if (typeof value !== 'number') { isValid = false; + } else if (value > validationProps.max) { isValid = false; } diff --git a/packages/strickland/src/min.js b/packages/strickland/src/min.js index 85c198b..bfd0f29 100644 --- a/packages/strickland/src/min.js +++ b/packages/strickland/src/min.js @@ -32,6 +32,9 @@ export default function min(minProp, validatorProps) { if (isFalsyButNotZero(value)) { // Empty values are always valid except with the required validator + } else if (typeof value !== 'number') { + isValid = false; + } else if (value < validationProps.min) { isValid = false; } diff --git a/packages/strickland/test/max.spec.js b/packages/strickland/test/max.spec.js index 8989882..64b912e 100644 --- a/packages/strickland/test/max.spec.js +++ b/packages/strickland/test/max.spec.js @@ -112,6 +112,11 @@ describe('max', () => { const result = validate(); expect(result.isValid).toBe(true); }); + + it('with a string value, it is not valid', () => { + const result = validate('A'); + expect(result.isValid).toBe(false); + }); }); describe('with props passed into validation', () => { diff --git a/packages/strickland/test/min.spec.js b/packages/strickland/test/min.spec.js index 4557e6f..fab1bea 100644 --- a/packages/strickland/test/min.spec.js +++ b/packages/strickland/test/min.spec.js @@ -99,6 +99,11 @@ describe('min', () => { const result = validate(); expect(result.isValid).toBe(true); }); + + it('with a string value, it is not valid', () => { + const result = validate('A'); + expect(result.isValid).toBe(false); + }); }); describe('with props passed into validation', () => {