基于Vuejs和Element的注冊(cè)插件的編寫方法
1.首先要在HTML文檔中引入jQuery版本2.0以下的、一個(gè)vuejs庫(kù) 一個(gè)Element-UI庫(kù)
<script src="js/jquery-1.11.0.min.js"></script> <script src="js/vue.js"></script> <script src="js/Element-UI.js"></script>
2.HTML的布局
<div id="app">
<el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-width="100px" class="demo-ruleForm">
<el-form-item label="名字" prop="name">
<el-input type="text" v-model="ruleForm2.name" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="昵稱" prop="niceName">
<el-input type="text" v-model="ruleForm2.niceName" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="密碼" prop="password">
<el-input v-model="ruleForm2.password" type="password"></el-input>
</el-form-item>
<el-form-item label="電話" prop="phone">
<el-input v-model="ruleForm2.phone" type="tel"></el-input>
</el-form-item>
<el-form-item label="郵箱" prop="email">
<el-input v-model="ruleForm2.email" type="email"></el-input>
</el-form-item>
<el-form-item label="身份證號(hào)碼" prop="identity">
<el-input v-model="ruleForm2.identity" type="number"></el-input>
</el-form-item>
<el-form-item label="QQ" prop="qq">
<el-input v-model="ruleForm2.qq" type="number"></el-input>
</el-form-item>
<el-form-item label="微信號(hào)" prop="wechat">
<el-input v-model="ruleForm2.wechat" type="text"></el-input>
</el-form-item>
<el-form-item label="個(gè)性簽名" prop="signature">
<el-input type="textarea" v-model="ruleForm2.signature"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm2')">提交</el-button>
<el-button @click="resetForm('ruleForm2')">重置</el-button>
</el-form-item>
</el-form>
</div>
3.js部分內(nèi)容的編寫,帶正則驗(yàn)證的
var Main = { data(){
// 驗(yàn)證名字正則表達(dá)式
var validateName = (rule, value, callback) => {
var regExp=/^[\u4e00-\u9fa5]{2,4}$/;
if (value === '') {
callback(new Error('請(qǐng)輸入名字'));
}else if(regExp.test(value) === false){
callback(new Error('請(qǐng)輸入正確的名字'))
} else {
callback();
}
};
// 驗(yàn)證昵稱正則表達(dá)式
var validateName2 = (rule, value, callback) => {
var regExp=/^[\u4e00-\u9fa5]{2,4}$/;
if (value === '') {
callback(new Error('請(qǐng)輸入昵稱'));
}else if(regExp.test(value) === false){
callback(new Error('請(qǐng)按格式輸入昵稱'))
} else {
callback();
}
};
//驗(yàn)證密碼正則表達(dá)式
var validatePass = (rule, value, callback) => {
var regExp = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/;
if (value === '') {
callback(new Error('請(qǐng)輸入密碼'))
} else if (regExp.test(value) === false) {
callback(new Error('8-16字母和數(shù)字組成,不能是純數(shù)字或純英文'))
} else {
callback()
}
}
//驗(yàn)證電話號(hào)碼正則表達(dá)式
var validateTel = (rule, value, callback) => {
var regExp = /^1[3|5|8|7][0-9]{9}$/;
if (value === '') {
callback(new Error('請(qǐng)輸入手機(jī)號(hào)碼'));
}else if (regExp.test(value) === false) {
callback(new Error('請(qǐng)輸入正確手機(jī)號(hào)碼'))
} else {
callback();
}
};
//驗(yàn)證身份正號(hào)碼正則表達(dá)式
var validateIdentity = (rule, value, callback) => {
var regExp = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (value === '') {
callback();
}else if (regExp.test(value) === false) {
callback(new Error('請(qǐng)輸入身份證號(hào)碼'))
} else {
callback();
}
};
//驗(yàn)證QQ號(hào)碼正則表達(dá)式
var validateQQ = (rule, value, callback) => {
var regExp =/^[1-9][0-9]{5,10}$/;
if (value ==='') {
callback();
}else if (regExp.test(value) === false) {
callback(new Error('請(qǐng)輸入正確的QQ號(hào)碼'))
} else {
callback();
}
};
//驗(yàn)證微信號(hào)碼正則表達(dá)式
var validateWechat = (rule, value, callback) => {
var regExp =/^[a-zA-Z\d_]{5,}$/;
if (value === '') {
callback();
}else if (regExp.test(value) === false) {
callback(new Error('請(qǐng)輸入正確的微信號(hào)'))
} else {
callback();
}
};
return {
ruleForm2: {
name: '',
niceName: '',
password: '',
phone:'',
identity:'',
qq:'',
wechat:'',
signature:''
},
rules2: {
name: [
{ validator: validateName, trigger: 'blur' }
],
niceName: [
{ validator: validateName2, trigger: 'blur' }
],
password: [
{ validator:validatePass , trigger: 'blur' }
],
phone: [
{ validator:validateTel , trigger: 'blur' }
],
email: [
{ required: false, message: '請(qǐng)輸入郵箱地址', trigger: 'blur' },
{ type: 'email', message: '請(qǐng)輸入正確的郵箱地址', trigger: 'blur,change' }
],
identity: [
{ validator:validateIdentity , trigger: 'blur' }
],
qq: [
{ validator:validateQQ , trigger: 'blur' }
],
wechat: [
{ validator:validateWechat , trigger: 'blur' }
],
signature: [
{ required: false, message: '請(qǐng)?zhí)顚懟顒?dòng)形式', trigger: 'blur' }
]
}
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
var _self = this
$.ajax({
url: 'http://192.168.0.150:8080/user/userRegister',
type: 'POST',
data: _self.ruleForm2,
}).done(function(data) {
console.log(data)
}).fail(function(data) {
//用于注冊(cè)完成后的頁(yè)面跳轉(zhuǎn)
console.log(data)
})
} else {
//注冊(cè)信息不符合規(guī)則
console.log('error submit!!');
return false;
}
});
},
//重新填寫注冊(cè)信息
resetForm(formName) {
this.$refs[formName].resetFields();
}
}
}
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
在這說(shuō)明以下交互部分用jQuery寫的,更改$.ajax的URL部分是可以直接用的
以上所述是小編給大家介紹的基于Vuejs和Element的注冊(cè)插件的編寫方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue請(qǐng)求服務(wù)器數(shù)據(jù)后綁定不上的解決方法
今天小編就為大家分享一篇vue請(qǐng)求服務(wù)器數(shù)據(jù)后綁定不上的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
使用開(kāi)源Cesium+Vue實(shí)現(xiàn)傾斜攝影三維展示功能
這篇文章主要介紹了使用開(kāi)源Cesium+Vue實(shí)現(xiàn)傾斜攝影三維展示,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Vue2.x配置路由導(dǎo)航守衛(wèi)實(shí)現(xiàn)用戶登錄和退出
之前在Vue的學(xué)習(xí)中通過(guò)路由導(dǎo)航守衛(wèi)控制實(shí)現(xiàn)了用戶登錄模塊的功能,本文基于Vue2.x進(jìn)行實(shí)現(xiàn),在此將實(shí)現(xiàn)過(guò)程進(jìn)行記錄與總結(jié),感興趣的可以了解一下2021-08-08
vue3實(shí)戰(zhàn)教程之a(chǎn)xios的封裝和環(huán)境變量
這篇文章主要給大家介紹了關(guān)于vue3實(shí)戰(zhàn)教程之a(chǎn)xios的封裝和環(huán)境變量的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02
快速解決Error: error:0308010C:digital envelope ro
因?yàn)?nbsp;node.js V17版本中最近發(fā)布的OpenSSL3.0, 而OpenSSL3.0對(duì)允許算法和密鑰大小增加了嚴(yán)格的限制,下面通過(guò)本文給大家分享快速解決Error: error:0308010C:digital envelope routines::unsupported的三種解決方案,感興趣的朋友一起看看吧2024-02-02
vue實(shí)現(xiàn)表單數(shù)據(jù)的增刪改功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)表單數(shù)據(jù)的增刪改功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
Vue-router結(jié)合transition實(shí)現(xiàn)app前進(jìn)后退動(dòng)畫切換效果的實(shí)例
下面小編就為大家?guī)?lái)一篇Vue-router結(jié)合transition實(shí)現(xiàn)app前進(jìn)后退動(dòng)畫切換效果的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10

