简单数据校验函数封装

数据校验是项目开发中经常遇到的问题,为了项目的精简,所以自己对基本的数据校验做简单封装。代码如下:

class Formvalidate {
  constructor(rules) {
    this.rules = rules;
  }

//不为空的校验规则
  requirde(val = '') {
    return val.length > 0;
  }
//最小长度为6的校验规则
  minlength(val = '') {
    return val.length >= 6;
  }
//手机号校验
  mobileNum(val = '') {
    console.log(val)
    return /^1[35789]\d{9}$/.test(val);
  }
//数据必须为汉字或者大写字母
  hanzi(val = '') {
  	return val.match(/^[A-Z\u4e00-\u9fa5]+$/)
  }
  //校验方法可自行拓展,最后返回boolean 值即可,true表示校验通过
//遍历校验方法,遇到不通过将其push到err数组,最后返回err
  validate(obj) {
	let err = []
      Object.keys(this.rules).map(rule => {
        Object.keys(this.rules[rule]).map( rul => {
          if(!this[rul](obj[rule], this.rules.rule)) {
			  err.push(this.rules[rule][rul])
          }
        }) 
      })
	return err
  }
}

使用方法:
1、定义rules规则:

rules: {
   //需要校验的字段的key
   username: {
     //校验规则名称:以及校验失败的提示信息
     mobileNum: '手机号格式不正确',
   },
   password: {
     requirde: '不能为空',
     minlength: '不得小于6位',
   },
 },

2、校验的执行函数:

 //描述对象 => 校验规则(rules)所包含字段的key:及对应的值(校验触发时的真实值)
const des = {
  username: this.username,
  password: this.password,
};
//实例化构造函数同时将校验规则传入
let vali = new Formvalidate(this.rules);
//调用Formvalidate构造函数上的方法,改方法返回err数组,err为所有校失败提示信息的集合类似['不能为空', '不得小于6位']
let err = vali.validate(des)
if(err.length > 0) {
	//数据校验不通过执行的代码 err[0]
	//此处为uni-app项目示例代码,其他项目可以alert err信息
	uni.showToast({
		title: err[0],
		icon: 'none'
	})
} else {
	//数据校验没问题时执行的代码
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值