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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM