Escape Regex characters when generating patterns

This commit is contained in:
Aarni Halinen
2020-07-31 16:49:35 +03:00
parent 91cb86639a
commit ad6a513b80
+3 -2
View File
@@ -2,6 +2,7 @@
import { Question } from "@components/SignupQuestionsWidget";
import { SignupForm } from "@models/SignupForm";
import { EMAIL_REGEX } from "@utils/regexes";
import escapeRegExp from "lodash/escapeRegExp";
const questionToUISchemaProp = (question: Question): {} => {
let obj = {};
@@ -52,7 +53,7 @@ const questionToValidationSchema = (question: Question) => {
obj = {
type: "string",
title: question.name,
pattern: question.options.map(x => `^${x}$`).join("|"),
pattern: question.options.map(x => `^${escapeRegExp(x)}$`).join("|"),
enum: question.options,
}
}
@@ -65,7 +66,7 @@ const questionToValidationSchema = (question: Question) => {
items: {
type: "string",
enum: question.options,
pattern: question.options.map(x => `^${x}$`).join("|"),
pattern: question.options.map(x => `^${escapeRegExp(x)}$`).join("|"),
},
}
}