我在某处阅读了一篇文章,其中作者使用Joi进行了异步验证,无论用户名是否唯一,都可以通过与数据库进行检查来进行验证。我现在找不到它,我想知道我们该如何做Joi
。
正如@Ankh在评论中已经提到的那样,我还认为检查数据库不是joi
职责范围。
但是,通过joi@v16
和,any().external()
您现在可以进行外部异步验证。这可以用来进行数据库查找。(发行文档v16中的详细信息)
const lookup = async (id) => {
const user = await db.get('user', id);
if (!user) {
throw new Error('Invalid user id');
}
};
const schema = Joi.string().external(lookup);
await schema.validateAsync('1234abcd');
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句