A classical example is:
schema = Joi.object().keys({
my_string: Joi.string().valid("myString").required()
});
This validate that object have field my_string which must have a myString as value.
How check that key my_string is not equal to notAllowedString?
you can use invalid to blacklist a value (link for ref)
schema = Joi.object().keys({
my_string: Joi.string().invalid("notAllowedString").required()
});
Here's a full example of how you would use it:
const Joi = require('joi');
const schema = Joi.object({
someIntA: Joi.number().integer().min(0).required(),
someIntB: Joi.number()
.integer()
.min(0)
.invalid(Joi.ref('someIntA'))
.required(),
someStringA: Joi.string().alphanum().min(3).max(30).required(),
someStringB: Joi.string()
.alphanum()
.min(3)
.max(30)
.invalid(Joi.ref('someStringA'))
.required(),
});
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