功能库和验证库 lodash和validator

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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值