I want to joi use regex pattern which define in variable
I have a variable pattern which contains regex i.e
pattern = "/^[0-9+]{7}-[0-9+]{1}$/"
and this pattern send to Joi module and want to confirm
module.exports = {
save: {
body: {
match: Joi.string().regex(pattern).required
}
}
}
I know validation work if I use this
module.exports = {
save: {
body: {
match: Joi.string().regex(/^[0-9+]{7}-[0-9+]{1}$/).required
}
}
}
But in my case every time regex will different. So I can not use above regex pattern
Hapi Joi is an object schema description language and validator for JavaScript objects. With Hapi Joi, we create blueprints or schemas for JavaScript objects (an object that stores information) to ensure validation of key information.
Short for regular expression, a regex is a string of text that lets you create patterns that help match, locate, and manage text. Perl is a great example of a programming language that utilizes regular expressions. However, its only one of the many places you can find regular expressions.
If you want to use pattern as variable, just pass it:
module.exports = (pattern) => ({
save: {
body: {
match: Joi.string().regex(pattern).required
}
}
});
And use it like:
const pattern = "/^[0-9+]{7}-[0-9+]{1}$/";
validator(pattern)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With