Skip to content

Commit ed1d7e2

Browse files
authored
Merge pull request #334 from rvsia/addFlagsToPatternValidator
fix(renderer): add flags for pattern validator
2 parents a66e433 + c50403d commit ed1d7e2

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ describe('New validators', () => {
116116
expect(validatorMapper(validators.PATTERN_VALIDATOR)({ pattern: '^Foo$' })('Foo')).toBeUndefined();
117117
});
118118

119+
it('should pass pattern validation with configured regexp pattern as string and with flags', () => {
120+
expect(validatorMapper(validators.PATTERN_VALIDATOR)({ pattern: '^Foo$', flags: 'i' })('foo')).toBeUndefined();
121+
});
122+
119123
it('should fail pattern validation with configured regexp pattern as string', () => {
120124
expect(validatorMapper(validators.PATTERN_VALIDATOR)({ pattern: '^Foo$' })('Bar')).toBe('Value does not match pattern: ^Foo$.');
121125
});

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ export const length = memoize(({
4343
});
4444
});
4545

46-
export const pattern = memoize(({ pattern, message } = {}) => {
47-
const verifiedPattern = typeof pattern === 'string' ? new RegExp(pattern) : pattern;
46+
export const pattern = memoize(({ pattern, message, flags } = {}) => {
47+
const verifiedPattern = typeof pattern === 'string' ? new RegExp(pattern, flags) : pattern;
4848
return prepare(value => {
4949
if (!value) {
5050
return;

packages/react-renderer-demo/src/app/src/doc-components/validators/pattern-validator.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const schema = {
1111
helperText: 'Value must be equal to Foo',
1212
validate: [{
1313
type: validatorTypes.PATTERN_VALIDATOR,
14-
pattern: /^Foo$/,
14+
pattern: /^Foo$/i,
1515
}],
1616
}, {
1717
component: componentTypes.TEXT_FIELD,
@@ -21,6 +21,7 @@ const schema = {
2121
validate: [{
2222
type: validatorTypes.PATTERN_VALIDATOR,
2323
pattern: '^Foo$',
24+
flags: 'i',
2425
}],
2526
}],
2627
};

0 commit comments

Comments
 (0)