如何解决joi验证模式:值可能有几种长度
我在节点项目中使用joi,我想遵循以下规则:我的字段长度可能为6或8(没有其他值),我尝试执行以下操作,但不起作用:
Joi.object({
iban: Joi.string().alphanum().length(6).length(8)
})
最后写入的规则将覆盖第一个规则,因此在这里我只接受长度为8的值,而不再接受长度为6的值
预先感谢
解决方法
尝试这样编写自定义验证器。 您可以阅读有关自定义验证器here
的更多信息Joi.object({
iban: Joi.string().alphanum().custom((value,helper) => {
if(value.length === 6 || value.length === 8){
return value;
} else {
return helper.message("iban must be 6 or 8 characters long")
}
});
})
``
,
这个很好用:
Joi.alternatives().try(Joi.string().alphanum().length(6),Joi.string().alphanum().length(8))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。