1.驗證註冊參數javascript
根目錄/validation/register.jsjava
const Validator = require('validator'); const isEmpty = require('./is-empty'); module.exports = function validateRegisterInput(data) { let errors = {}; data.name = !isEmpty(data.name) ? data.name : ''; data.email = !isEmpty(data.email) ? data.email : ''; data.password = !isEmpty(data.password) ? data.password : ''; data.password2 = !isEmpty(data.password2) ? data.password2 : ''; if (!Validator.isLength(data.name, { min: 2, max: 30 })) { errors.name = '名字的長度不能小於2位且不能超過30位'; } if (Validator.isEmpty(data.name)) { errors.name = '名字不能爲空'; } if (!Validator.isEmail(data.email)) { errors.email = '郵箱不合法'; } if (Validator.isEmpty(data.email)) { errors.email = '郵箱不能爲空'; } if (Validator.isEmpty(data.password)) { errors.password = 'password不能爲空'; } if (!Validator.isLength(data.password, { min: 6, max: 30 })) { errors.password = 'password的長度不能小於6位且不能超過30位'; } if (Validator.isEmpty(data.password2)) { errors.password2 = 'password2不能爲空'; } if (!Validator.equals(data.password, data.password2)) { errors.password2 = '兩次密碼不一致'; } return { errors, isValid: isEmpty(errors) } }
2.驗證登陸參數api
根目錄/validation/login.jsui
const Validator = require('validator'); const isEmpty = require('./is-empty'); module.exports = function validateLoginInput(data) { let errors = {}; data.email = !isEmpty(data.email) ? data.email : ''; data.password = !isEmpty(data.password) ? data.password : ''; if (!Validator.isEmail(data.email)) { errors.email = '郵箱不合法'; } if (Validator.isEmpty(data.email)) { errors.email = '郵箱不能爲空'; } if (Validator.isEmpty(data.password)) { errors.password = 'password不能爲空'; } if (!Validator.isLength(data.password, { min: 6, max: 30 })) { errors.password = 'password的長度不能小於6位且不能超過30位'; } return { errors, isValid: isEmpty(errors) } }
3.引用blog
根目錄/routes/api/users.js接口
// 引入 input 驗證密碼 const validateRegisterInput = require('../../validation/register'); const validateLoginInput = require('../../validation/login'); ... // 註冊接口 const { errors, isValid } = validateRegisterInput(ctx.request.body); // 判斷是否驗證經過 if (!isValid) { ctx.status = 400; ctx.body = errors; return; } // 登陸接口 const { errors, isValid } = validateLoginInput(ctx.request.body); // 判斷是否驗證經過 if (!isValid) { ctx.status = 400; ctx.body = errors; return; }
.ip