Rumah > hujung hadapan web > tutorial js > Pembangunan Node.js: Cara melaksanakan fungsi pengesahan dan pengesahan data

Pembangunan Node.js: Cara melaksanakan fungsi pengesahan dan pengesahan data

PHPz
Lepaskan: 2023-11-08 11:04:09
asal
1313 orang telah melayarinya

Pembangunan Node.js: Cara melaksanakan fungsi pengesahan dan pengesahan data

Dalam pembangunan Node.js, pengesahan dan pengesahan data adalah sangat penting. Ia boleh membantu kami memastikan integriti dan ketepatan data serta mengurangkan masalah yang disebabkan oleh ralat data. Artikel ini akan memperkenalkan beberapa kaedah pengesahan dan pengesahan data yang biasa digunakan serta memberikan contoh kod khusus.

  1. Gunakan ungkapan biasa untuk pengesahan data

Ungkapan biasa ialah alat pemadanan rentetan yang berkuasa yang boleh digunakan untuk mengesahkan data yang dimasukkan pengguna. Dalam Node.js, kita boleh menggunakan objek RegExp untuk mencipta ungkapan biasa dan memadankan data.

Sebagai contoh, kami boleh menggunakan ungkapan biasa untuk mengesahkan sama ada alamat e-mel adalah sah:

const email = 'test@example.com';
const emailRegex = /^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$/;

if (emailRegex.test(email)) {
  console.log('Valid email');
} else {
  console.log('Invalid email');
}
Salin selepas log masuk

Dalam kod ini, kami menggunakan ungkapan biasa untuk mengesahkan alamat e-mel. Dalam ungkapan biasa, ^ mewakili permulaan dan $ mewakili penghujung. Format alamat e-mel boleh dibahagikan kepada tiga bahagian: nama pengguna, simbol @ dan nama domain. Kami menggunakan kurungan untuk mengumpulkan tiga bahagian ini dan menggunakan beberapa aksara khas untuk memadankannya. Jika alamat e-mel ini sepadan dengan ungkapan biasa yang kami tetapkan, kaedah ujian akan mengembalikan benar, jika tidak ia akan mengembalikan palsu.

  1. Pengesahan data menggunakan Joi

Joi ialah perpustakaan pengesahan dan pengesahan data Node.js yang popular yang menyediakan fungsi yang kaya dan API yang mudah digunakan. Joi boleh mengesahkan sebarang jenis objek, termasuk rentetan, nombor, boolean, tatasusunan, objek, dsb.

Pertama, kita perlu memasang perpustakaan Joi:

npm install joi
Salin selepas log masuk

Kemudian, kita boleh menggunakan Joi untuk pengesahan data. Sebagai contoh, kami boleh mengesahkan sama ada objek pengguna mengandungi atribut yang diperlukan:

const Joi = require('joi');

const userSchema = Joi.object({
  name: Joi.string().required(),
  email: Joi.string().email().required(),
  age: Joi.number().min(18).max(100),
});

const user = {
  name: 'Tom',
  email: 'test@example.com',
  age: 20,
};

const { error, value } = userSchema.validate(user);

if (error) {
  console.log(error.details);
  // Output: [ { message: '"name" is required', path: [ 'name' ], type: 'any.required' } ]
} else {
  console.log(value);
}
Salin selepas log masuk

Dalam kod ini, kami mentakrifkan skema objek pengguna, yang mengandungi tiga atribut: nama, e-mel dan umur. Gunakan kaedah pengesahan untuk mengesahkan dan menentukan keputusan pengesahan. Dalam contoh ini, jika objek pengguna tiada nama atau atribut e-mel, mesej ralat akan dicetak.

  1. Gunakan Express-validator untuk pengesahan data

Express-validator ialah perpustakaan pengesahan dan pengesahan data yang popular untuk rangka kerja Express. Ia menyokong pelbagai kaedah pengesahan dan pengesahan, serta menyediakan beberapa kaedah pembantu yang berguna.

Mula-mula, kita perlu memasang perpustakaan Express-validator:

npm install express-validator
Salin selepas log masuk

Kemudian, kita boleh menggunakan Express-validator untuk pengesahan data. Sebagai contoh, kami boleh mengesahkan bahawa badan permintaan mengandungi atribut yang diperlukan:

const { body, validationResult } = require('express-validator');

app.post('/user', [
  body('name').notEmpty().withMessage('Name is required'),
  body('email')
    .isEmail().withMessage('Email is invalid')
    .normalizeEmail(),
  body('age')
    .isInt({ min: 18, max: 100 }).withMessage('Age must be between 18 and 100'),
], (req, res) => {
  const errors = validationResult(req);

  if (!errors.isEmpty()) {
    res.status(400).json({ errors: errors.array() });
  } else {
    const { name, email, age } = req.body;
    // Do something with user data
    res.send('User created');
  }
});
Salin selepas log masuk

Dalam kod ini, kami mentakrifkan pengendali permintaan POST dan menggunakan fungsi badan untuk mengesahkan nama, e-mel dan atribut umur dalam badan permintaan. Jika badan permintaan mengandungi data tidak sah, fungsi validationResult akan mengembalikan tatasusunan yang mengandungi maklumat ralat.

Ringkasan

Pengesahan dan pengesahan data ialah bahagian penting dalam pembangunan Node.js. Artikel ini memperkenalkan beberapa kaedah pengesahan dan pengesahan yang biasa digunakan, termasuk ungkapan biasa, Joi dan Express-validator. Dengan menggunakan kaedah ini, kami boleh memastikan integriti dan ketepatan data dan mengelakkan masalah yang disebabkan oleh ralat data.

Atas ialah kandungan terperinci Pembangunan Node.js: Cara melaksanakan fungsi pengesahan dan pengesahan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan