# 表单验证/数据验证

表单验证/数据验证。使用简单/灵活,让你的验证如鱼得水

说明

该表单验证/数据验证来源于uni-app插件市场优秀的开源作品表单验证/数据验证 (opens new window)

# 基本使用

<script>
	export default {
		data() {
			return {
				//模拟表单数据
				data: {
					number: '99'
				}
			}
		},
		onShow() {
			//数据验证
			let rule = [{
				//字段名,对应[模拟表单数据]中的 name 
				name: 'number',
				//用于出现错误信息替换英文字段名(不设置此参数则默认使用英文name字段名)
				nameChn: '数字',
				/**
				 * 验证规则(详细规则请在下方【验证规则】中查看)
				 * 格式:['require', 'min:3', ['min', 3]]
				 * 别名格式: ['>', 10] 等同于 ['gt', 10]
				 */
				rules: ['require', ['>', 100],['max', 3]],
				/**
				 * 自定义错误信息(如不设置此参数则使用默认信息)
				 * 格式:{验证规则的名称(支持别名): '自定错误信息的文本'}
				 */
				errorMsg: {
					require: '当前数字不能为空', //不能为空
					'>': '当前值必须大于100', //别名
					max: '数字不能大于三位数' //最小长度
				}
			}];
			//是否通过验证,验证通过返回 true ,验证不通过返回 false
			console.log(this.$store.validate.check(this.data, rule));
			//返回错误信息的第一条,验证通过则返回 null
			console.log(this.$store.validate.getErrorFirst());
			//返回错误信息的结果集
			console.log(this.$store.validate.getError());
		}
	}
</script>

# 验证规则

规则名称 别名 用法 描述
require ['require'] 必填项(如不设置此项,则数据不为空时才进行其他规则验证)
number ['number'] 是否为数值
chn ['chn'] 是否为汉字
chnNum ['chnNum'] 是否为汉字和数值
chnOrNum ['chnOrNum'] 是否为汉字或数值
alphaLine ['alphaLine'] 只能包含英文和下划线,首尾不能是下划线、且不能只是下划线
mobile ['mobile'] 手机号码格式验证
alphaNum ['alphaNum'] 只能是字母的数字
email ['email'] 电子邮箱格式验证
zipCode ['zipCode'] 邮政编码格式验证
min ['min:5'] 或 ['min', 5] 长度不能小于某值
max ['max:5'] 或 ['max', 5] 长度不能大于某值
length ['length:1,10'] 或 ['length', '1,10'] 在某长度范围内
notbetween ['notbetween:1,10'] 或 ['length', '1,10'] 不再某长度范围内
in ['in:1,2,3,5,6,8'] 或 ['in', '1,2,3,6,5,89,9'] 在指定的字符内
notIn ['notIn:1,2,3,5,6,8'] 或 ['notIn', '1,2,3,6,5,89,9'] 不在指定的字符内
different ['different:formName'] 或 ['different', 'formName'] 对比两个字段的值是否相同
gt > ['gt:100'] 或 ['gt', 100] 必须大于某个数值
egt >= ['egt:100'] 或 ['egt', 100] 必须大于等于某个数值
elt <= ['elt:100'] 或 ['elt', 100] 必须小于或等于某个数值
lt < ['lt:100'] 或 ['lt', 100] 必须小于某个数值
eq = 或 same ['eq:100'] 或 ['eq', 100] 必须等于某个数值
notEq <> 或 != ['notEq:100'] 或 ['notEq', 100] 不等于某个数值
regex ['regex', /(^[1-9]\d*$)/] 支持使用正则验证