工作中,后端需要对前端传递的数据进行校验。

一、相关包

包名称 安装 作用
validator npm install validator -D 表单验证

https://www.npmjs.com/package/validator

二、验证

1、验证名字

koa-demo\validation\register.js

  1. const Validator = require('validator');
  2. const isEmpty = require('./is-empty');
  3. module.exports = function validateRegisterInput(data) {
  4. let errors = {};
  5. if (!Validator.isLength(data.name, { min: 2, max: 8 })) {
  6. errors.name = '名字长度不能小于两位且不超过8位';
  7. }
  8. if (Validator.isEmpty(data.name)) {
  9. errors.name = '名字不能为空';
  10. }
  11. return {
  12. errors,
  13. isValid: isEmpty(errors),
  14. };
  15. };

在需要使用的接口文件中:

  1. const validateRegisterInput = require('../../validation/register');
  2. router.post('/register', async (ctx) => {
  3. const { errors, isValid } = validateRegisterInput(ctx.request.body);
  4. if (!isValid) {
  5. ctx.status = 400;
  6. ctx.body = errors;
  7. return;
  8. }
  9. })

2、验证邮箱