如何使用 Joi 验证一个字符串不等于另一个(黑名单)?
How to validate that a string is not equal to another (blacklist) with Joi?
一个经典的例子是:
schema = Joi.object().keys({
my_string: Joi.string().valid("myString").required()
});
这验证对象有字段 my_string
,它必须有一个 myString
作为值。
如何检查键 my_string
不 等于 notAllowedString
?
您可以使用 无效 将值列入黑名单 (link for ref)
schema = Joi.object().keys({
my_string: Joi.string().invalid("notAllowedString").required()
});
下面是您将如何使用它的完整示例:
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(),
});
一个经典的例子是:
schema = Joi.object().keys({
my_string: Joi.string().valid("myString").required()
});
这验证对象有字段 my_string
,它必须有一个 myString
作为值。
如何检查键 my_string
不 等于 notAllowedString
?
您可以使用 无效 将值列入黑名单 (link for ref)
schema = Joi.object().keys({
my_string: Joi.string().invalid("notAllowedString").required()
});
下面是您将如何使用它的完整示例:
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(),
});