簡體   English   中英

如何使用 joi 驗證用戶名是否唯一?

[英]How to validate whether a username is unique using joi?

我在某處閱讀了一篇文章,其中作者使用Joi通過檢查數據庫來異步驗證用戶名是否唯一。 我現在找不到它,我想知道我們如何用Joi做到這一點。

正如@Ankh 在評論中已經提到的,我也認為檢查數據庫不是joi的職責范圍。

但是,使用joi@v16any().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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM