1、安装
cnpm install lodash --save
cnpm install validator --save
2、lodash功能
(1)验证空
const isEmpty=require('lodash/isEmpty');
isEmpty(errors); 为空返回true;
(2)查找元素下标
import findIndex from 'lodash/findIndex'
findIndex(被查找的对象,{查找的对象的属性和值}); 返回查找到元素的下标
如: const index=findIndex(state,{id:action.id}); state是数组,存储了对象,对象包含属性id
(3)数组排序
import sortBy from 'lodash/sortBy'
sortBy(数组,[(数组元素)=>{return 数组元素.字段}]) 将根据字段排序,并返回排序好的数组,数组元素.字段*-1将从大到小排序
3、validator验证
validator.isEmpty(x) 验证是否为空,为空返回true
validator.isEmail(x) 验证是否是邮箱格式,是返回true
代码示例:
const express =require('express');
const router=express.Router();
const isEmpty=require('lodash/isEmpty');
const validator=require('validator');
const validatorInput=(data)=>{
let errors={};
if(validator.isEmpty(data.username)){
errors.username='请填写用户名';
}
if(!validator.isEmail(data.email)){
errors.email='请填写邮箱';
}
if(validator.isEmpty(data.password)){
errors.password='请填写密码'
}
if(validator.isEmpty(data.passwordConfirmation)){
errors.passwordConfirmation='请填写确认密码'
}
if(!validator.equals(data.password,data.passwordConfirmation)){
errors.passwordConfirmation='两次密码不同';
}
return {
errors,
isValid:isEmpty(errors)
}
}
router.post('/',(req,res)=>{
console.log(req.body.username);
const {errors,isValid} = validatorInput(req.body);
if(!isValid)
{
res.status(400).json(errors);
}
})
module.exports=router;