<!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
