vue+elementUI 表单校验

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<!-- 引入样式 -->
	<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
	<div id="app">
		<el-form :rules="rules"
			:model="obj" 
			ref="formName" 
			label-width="100px" 
			class="demo-ruleForm">
		  <el-form-item label="参数" prop="param">
		    <el-input v-model="obj.param" auto-complete="off"></el-input>
		  </el-form-item>
  		  <el-form-item label="参数1" prop="param1">
		    <el-input v-model="obj.param1" auto-complete="off"></el-input>
		  </el-form-item>
		  <el-form-item>
		    <el-button type="primary" @click="submitForm('formName')">提交</el-button>
		    <el-button @click="resetForm('formName')">重置</el-button>
		  </el-form-item>
		</el-form>
	</div>

	<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	<!-- 引入组件库 -->
	<script src="https://unpkg.com/element-ui/lib/index.js"></script>
	<script type="text/javascript">
		const app = new Vue({
			el: '#app',
			data: function(){
				const type = 'string'; // string,number,mail,date等等
				const regExp = /^1[34578]\d{9}$/;

				let validateSelf = ((rule, value, callback) => {
					if(pass){ // 输入内容通过验证,也就是正确的,什么也不用提示
						callback()
					}else{
						callback('Error Info')  // 给出自定义提示
						// callback(new Error('Error tip')) // 此处也接受一个Error实例
					}
				})
				return {
					rules:{
						param: [
		      				{ required: true, message: '空文本提示', trigger: 'blur, change' },
		      				{ type: type, message: '类型校验提示文本' },
		      				{ pattern: regExp, message: '正则匹配提示文本' },
		      				{ validator: validateSelf, trigger: 'blur' }
		    			],
		    			param1: [
		      				{ required: true, message: '空文本提示', trigger: 'blur, change' },
		      				{ type: type, message: '类型校验提示文本' },
		      				{ pattern: regExp, message: '正则匹配提示文本' },
		      				{ validator: validateSelf, trigger: 'blur' }
		    			],
					},
			        obj: {
			          param: '',
			          param1: ''
			        }
				}
			},
			methods:{
		      	submitForm(formName) {
		        	this.$refs[formName].validate((valid) => {
		          		if (valid) {
		            		// 验证通过之后的操作
		            		// ...
		          		} else {
		          			// 验证不通过之后的操作
		          			// ...
		            		return false;
		          		}
		        	});
		      	},
		      	resetForm(formName) {
		        	this.$refs[formName].resetFields();
		      	}
			}
		})
	</script>
</body>
</html>

  另附上别人总结的一篇正则表达式大全,开发过程中提供了巨大帮助,原文转自(不会弄):https://blog.csdn.net/qq_28633249/article/details/77686976

posted @ 2019-07-25 18:12  安三金  阅读(1991)  评论(0编辑  收藏  举报