使用 Validator.js 在 Node.js 中進行表單數據驗證
簡介
幾乎每個網站都涉及通過html 表單收集用戶輸入 .每當我們收集用戶數據時,我們都必須對其進行驗證。在計算機科學中,數據驗證 是檢查輸入的數據是否合理合理的過程。
考慮開發一個電子郵件訂閱表格。在這種情況下,我們要檢查提交的電子郵件是否遵循通用電子郵件格式,例如 [email protected]
.如果沒有驗證,惡意用戶可以輸入無用的值,甚至執行 SQL 注入。
在本文中,我們將使用 Validator.js 執行表單數據驗證 - 一個輕量級 NPM 包正是為此目的而構建的。
安裝Validator.js
讓我們為我們的項目創建一個目錄,命名為 string-validator
,進入其中,創建一個 index.js
入口點並使用 npm
使用默認設置初始化 Node 項目 :
$ mkdir string-validator
$ cd string-validator
$ npm init -y
那麼,我們來:
$ touch index.js
初始化項目後,我們可以安裝Validator.js
打包使用:
$ npm install validator
使用 Validator.js 進行表單數據驗證
考慮一個銷售書籍的應用程序,其中首先使用 HTML 表單收集用戶輸入。然後將此數據以 JSON 格式發送到服務器以進行進一步處理。讓我們看看如何為此進行字符串驗證。
假設這是從前端發送的數據。讓我們將這些數據保存在 index.js
文件。另外,我們需要 Validator.js
在我們的文件中:
const validator = require("validator")
const data = {
"gender": "male",
"name": {
"title": "mr",
"first": "brad",
"last": "gibson"
},
"countryCode": "IE",
"postalCode": "93027",
"email": "[email protected]",
"cell": "081-454-0666",
"dob": "1993-07-20T09:44:18.674Z",
"creditCardNumber": "4539415755005206",
"book": {
"title": "Harry Potter and the Deathly Hallows",
"author": "Rowling, J. K.",
"isbn": "9780545010221",
"isbnVersion": "13"
}
}
Validator.js 有很多預置函數來檢查不同輸入的有效性,例如信用卡、手機、電子郵件、郵政編碼等。
首先,讓我們檢查用戶是否向我們提供了有效的信用卡詳細信息。這可以使用:
console.log(validator.isCreditCard(data.creditCardNumber)); // true
為了交付圖書,郵政編碼必須有效。所以,讓我們檢查一下:
console.log(validator.isPostalCode(data.postalCode, data.countryCode)) // false
電話號碼驗證可以使用:
免費電子書:Git Essentials
查看我們的 Git 學習實踐指南,其中包含最佳實踐、行業認可的標準以及隨附的備忘單。停止谷歌搜索 Git 命令並真正學習 它!
console.log(validator.isMobilePhone(data.cell, `en-${data.countryCode}`)); // false
電子郵件驗證可以使用:
console.log(validator.isEmail(data.email)) // true
此外,我們可以使用以下方法進行 ISBN 驗證:
console.log(validator.isISBN(data.book.isbn, data.book.isbnVersion)) // true
然後,我們可以提示用戶重新輸入任何無效信息,以確保我們擁有乾淨、可操作的數據。
結論
在本文中,我們介紹了 Validator.js NPM 包——這是一個用於數據和字符串驗證的輕量級包。