uniapp表单验证方法封装

本文记录了在uniapp中进行表单验证方法的封装过程,旨在学习和提升代码规范。通过在项目根目录创建common文件夹并建立js文件,然后在需要的vue文件中引入graceChecker.js。作者感叹官方代码的简洁,并希望自己的代码水平能有所提高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次代码完全是uniapp官方源码,写在这里是记录笔记,如果想看源码,可以打开uniapp软件新建项目,选择uniapp官方项目案例即可。

本次目的是学习代码规范,因为觉得自己写的代码太臃肿,后期维护太难。

1.在根目录新建文件common,在文件里面新建一个js文件,名称随意。

//graceChecker.js
/**
数据验证(表单验证)
来自 grace.hcoder.net 
作者 hcoder 深海
*/
export default {
	error:'',
	check : function (data, rule){
		for(var i = 0; i < rule.length; i++){
			if (!rule[i].checkType){return true;}
			if (!rule[i].name) {return true;}
			if (!rule[i].errorMsg) {return true;}
			if (!data[rule[i].name]) {this.error = rule[i].errorMsg; return false;}
			switch (rule[i].checkType){
				case 'string':
					var reg = new RegExp('^.{' + rule[i].checkRule + '}$');
					if(!reg.test(data[rule[i].name])) {this.error = rule[i].errorMsg; return false;}
				break;
				case 'int':
					var reg = new RegExp('^(-[1-9]|[1-9])[0-9]{' + rule[i].checkRule + '}$');
					if(!reg.test(data[rule[i].name])) {this.error = rule[i].errorMsg; return false;}
					break;
				break;
				case 'between':
					if (!this.isNumber(data[rule[i].name])){
						this.error = rule[i].errorMsg;
						return false;
					}
					var minMax = rule[i].checkRule.split(',');
					minMax[0] = Number(minMax[0]);
					minMax[1] = Number(minMax[1]);
					if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {
					
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值