国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

2bdenny / 2493人閱讀

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

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

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

joi

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

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標準的實現,另外,使用ajv驗證JSON Schema可以將模式配置信息保存在.json文件中,因為JSON Schema模式是聲明式的,而joi則必須在代碼文件中實現模式配置,因為joi的語義化必須以函數調用來實現。

參考資料

https://github.com/hapijs/joi

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107540.html

相關文章

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

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

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

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

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

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

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

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

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

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

    ccj659 評論0 收藏0

發表評論

0條評論

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