成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

NPM酷庫043:joi,語義化模式驗證

2bdenny / 2561人閱讀

摘要:酷庫,每天兩分鐘,了解一個流行庫。在酷庫中,我們了解到了數(shù)據(jù)模式驗證,以及庫。是語義化的對象數(shù)據(jù)模式驗證庫,所謂語義化,是指其方法名能夠明確表達其含義。

NPM酷庫,每天兩分鐘,了解一個流行NPM庫。·

在NPM酷庫042中,我們了解到了JSON Schema數(shù)據(jù)模式驗證,以及ajv庫。今天我們來學(xué)習(xí)另一個對象數(shù)據(jù)驗證的庫joi。

joi

joi 是語義化的對象數(shù)據(jù)模式驗證庫,所謂語義化,是指其方法名能夠明確表達其含義。

const Joi = require("joi");

// 聲明模式
const schema = Joi.object().keys({
    username: Joi.string().alphanum().min(3).max(30).required(),
    password: Joi.string().regex(/^[a-zA-Z0-9]{3,30}$/),
    access_token: [Joi.string(), Joi.number()],
    birthyear: Joi.number().integer().min(1900).max(2013),
    email: Joi.string().email()
}).with("username", "birthyear").without("password", "access_token");

// 驗證
const result = Joi.validate({ username: "abc", birthyear: 1994 }, schema);

// result.error === null -> valid

注意:joi并非是JSON Schema標(biāo)準(zhǔn)的實現(xiàn),另外,使用ajv驗證JSON Schema可以將模式配置信息保存在.json文件中,因為JSON Schema模式是聲明式的,而joi則必須在代碼文件中實現(xiàn)模式配置,因為joi的語義化必須以函數(shù)調(diào)用來實現(xiàn)。

參考資料

https://github.com/hapijs/joi

https://github.com/hapijs/joi...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/107540.html

相關(guān)文章

  • NPM酷庫:semver 語義版本判斷

    摘要:今天在此向大家推薦一種非常流行的版本號命名規(guī)則語義化版本。語義化版本約定修訂版本號代表在和之前接口不變的前提下修正了。就是專門用于語義化版本號檢查的庫,其也是語義化版本標(biāo)準(zhǔn)的制定者。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 軟件的命運就是不斷維護、更新、迭代,所以我們用版本號來區(qū)分一個軟件的不同時期和形態(tài),版本號的命名方式有各種各樣,有的以小數(shù)表示(幾點幾),有的以日期表示,有...

    Carbs 評論0 收藏0
  • JavaScript 踩坑心得— 為了高速(上)

    摘要:集裝箱化集裝箱化集裝箱化以下是部分原因集裝箱化會迫使你遵從應(yīng)用開發(fā)大原則。通過集裝箱化,可以實現(xiàn)開發(fā)階段測試以及生產(chǎn)環(huán)境的對等。實現(xiàn)環(huán)境集裝箱化的理由還有很多很多,一旦掌握了基本知識,集裝箱化就不難實現(xiàn)。 一.前言 很多情況下,產(chǎn)品的設(shè)計與開發(fā)人員一直想打造一套高品質(zhì)的解決方案,從而快速、平穩(wěn)地適應(yīng)產(chǎn)品迭代。速度是衡量產(chǎn)品適應(yīng)性的真正且唯一的標(biāo)準(zhǔn),而且,這并不是筆者的一家之言。 「速度...

    魏憲會 評論0 收藏0
  • NPM酷庫042:ajv,JSON 模式驗證

    摘要:酷庫,每天兩分鐘,了解一個流行庫。比如需要滿足那些屬性,每個屬性都是什么類型的,這些條件稱之為數(shù)據(jù)模式驗證。在對數(shù)據(jù)的模式驗證領(lǐng)域有專門的標(biāo)準(zhǔn),叫做。就是按照標(biāo)準(zhǔn)聲明一個模式對象,然后使用模式驗證工具去驗證目標(biāo)數(shù)據(jù)。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫?!?在NPM酷庫041中,我們學(xué)習(xí)了如何用validator庫來驗證字符串是否是Email、URL等,在開發(fā)中,除了字符串,...

    lavnFan 評論0 收藏0
  • vue-cli系列之vue-cli自身引用了哪些包?持續(xù)更新中……

    摘要:概述當(dāng)創(chuàng)建了一個后,我們使用就可以啟動項目了。這個命令實際上是啟動了一段腳本,那這個腳本引用了哪些包呢讓我們來一探究竟。實例檢測本機版本是否符合需求的版本。鏈接概述這個包是用來處理命令行的參數(shù)輸入的。設(shè)置檢查范圍的起始端口號。 概述 當(dāng)vue-cli創(chuàng)建了一個vue-demo后,我們使用npm run serve就可以啟動項目了。通過package.json中的serve命令我們可以看...

    LiuRhoRamen 評論0 收藏0
  • NPM酷庫:pify 將異步函數(shù)Promise

    摘要:酷庫,每天兩分鐘,了解一個流行庫。昨天我們了解到可以用庫將樣式庫轉(zhuǎn)化為樣式,同時庫也提供了強大在增強版的,如果我們需要轉(zhuǎn)化函數(shù),且僅需要使用標(biāo)準(zhǔn)的,那么使用有些大材小用。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 所有Node.js標(biāo)準(zhǔn)庫和很多第三方庫提供的接口都是callback樣式的,在ES7標(biāo)準(zhǔn)時代,使用async/await配合Promise才是最佳實踐。 昨天我們了解到...

    ccj659 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<