Tôi sử dụng yup để xác nhận. Nó là gói nhỏ hơn rất nhiều so với Joi. Tôi đã sử dụng yup ở cả phía trước và phụ trợ và tôi thường ném xác nhận của mình vào gói NPM được chia sẻ mà cả hai dự án mặt trước và dự phòng có thể có cùng một thư viện xác thực
npm install -S yup
sau đó
import * as yup from 'yup';
let schema = yup.object[].shape[{
name: yup.string[].required[],
age: yup.number[].required[].positive[].integer[],
email: yup.string[].email[],
website: yup.string[].url[],
createdOn: yup.date[].default[function [] {
return new Date[];
}],
}];
// check validity
schema
.isValid[{
name: 'jimmy',
age: 24,
}]
.then[function [valid] {
valid; // => true
}];
Từ trang web của Yup:
Yup là một trình xây dựng lược đồ JavaScript để phân tích và xác nhận giá trị. Xác định một lược đồ, biến đổi một giá trị để khớp, xác nhận hình dạng của một giá trị hiện có hoặc cả hai. Lược đồ YUP cực kỳ biểu cảm và cho phép mô hình hóa phức tạp, xác nhận phụ thuộc lẫn nhau hoặc biến đổi giá trị.
API của YUP được truyền cảm hứng rất nhiều bởi Joi, nhưng Leaner và được xây dựng với xác thực phía khách hàng là trường hợp sử dụng chính. YUP tách các chức năng phân tích cú pháp và xác nhận thành các bước riêng biệt. cast [] biến đổi dữ liệu trong khi xác thực kiểm tra xem đầu vào có hình dạng chính xác không. Mỗi người có thể được thực hiện cùng nhau [như xác thực biểu mẫu HTML] hoặc riêng biệt [chẳng hạn như dữ liệu đáng tin cậy từ API].
Bạn sẽ muốn tạo trình xác nhận của riêng mình cho các mục đặc biệt như khớp mật khẩu, v.v ... Điều này có thể được thực hiện bằng cách sử dụng Regex sau đó thêm chức năng vào yup như vậy:
let schema = string[].matches[/[hi|bye]/];
Đặt tất cả các chức năng xác thực của bạn vào gói NPM được chia sẻ của bạn [bao gồm cả các loại TypeScript của bạn, v.v.]. Các trường hợp mà nhóm Frontend của bạn không đồng bộ với các xác nhận trên phần phụ trợ bây giờ sẽ ít quan tâm hơn.
Nhập thư viện vệ sinh cho Node.js Thư viện này nhằm mục đích vệ sinh đầu vào của người dùng. Các ví dụ dưới đây cho thấy một số chất khử trùng được xây dựng. Bạn có thể tạo chất khử trùng tùy chỉnh của riêng bạn. Vui lòng tham khảo các bài kiểm tra để biết thêm ví dụ về cách sử dụng thư viện này.node-sanitize
Bản tóm tắt
Cài đặt
npm install --save sanitize
Bài kiểm tra
Cách sử dụng
var express = require['express']; var app = express[]; app.use[require['sanitize'].middleware]; app.get['/ping', function[req, res] { var param = req.queryInt['param']; res.send['pong ' + [typeof param] + ' ' + param]; }]; app.listen[8080];
Tài liệu
Vệ sinh đối tượng
vệ sinh.
Điều này sẽ loại bỏ tất cả các phím từ một đối tượng đơn giản không phải là String
, Integer
hoặc Boolean
. Thật tuyệt vời khi vệ sinh các đối tượng trước khi chèn vào cơ sở dữ liệu.