Skip to content

Commit 1edf413

Browse files
authored
Merge pull request #233 from rvsia/ignoreEmptyValuesLengthValidator
Ignore empty values length validator
2 parents 2b29174 + 31e9ca3 commit 1edf413

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

packages/react-form-renderer/src/tests/validators/validators.test.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ describe('New validators', () => {
2828
});
2929

3030
describe('Length validator', () => {
31+
it('should pass empty value', () => {
32+
expect(validatorMapper(validators.EXACT_LENGTH)({ threshold: 5 })('')).toBeUndefined();
33+
});
34+
35+
it('should pass undefined value', () => {
36+
expect(validatorMapper(validators.EXACT_LENGTH)({ threshold: 5 })(undefined)).toBeUndefined();
37+
});
38+
3139
it('should pass exact length of 5 characters validation', () => {
3240
expect(validatorMapper(validators.EXACT_LENGTH)({ threshold: 5 })('12345')).toBeUndefined();
3341
});

packages/react-form-renderer/src/validators/index.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@ export const length = memoize(({
2121
equal = selectNum(equal, is);
2222
min = selectNum(min, minimum);
2323
max = selectNum(max, maximum);
24-
return prepare ((value = []) => {
24+
return prepare ((value) => {
25+
if (!value) {
26+
return;
27+
}
28+
2529
if (equal !== null && value.length !== equal) {
2630
const msg = prepareMsg(message, 'wrongLength', { count: equal }).defaultMessage;
2731
return typeof msg === 'string' ? msg : msg(equal);

0 commit comments

Comments
 (0)