element vue validate验证名称重复 输入框与后台…
2018-11-20 03:18:55来源:博客园 阅读 ()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> </head> <body > <div id="app"> <!--此处model的abc 要是下面input 绑定的对象名称, ref 要和提交按钮的submit参数 名称要一致--> <el-form size="mini" :model="abc" ref="validateRef"> <!--此处的prop 和input 中abc的属性名称一致 --> <el-form-item label="你好" prop="hello" :rules="[{required: true,message:'请输入',trigger:'blur'} ,{validator:validateCharacter,trigger:'blur'} ,{validator:validateFontSize,trigger:'blur'} ,{validator:validatePass,trigger:'blur'}]"> <el-input type="text" v-model="abc.hello" placeholder="请输入..." clearable></el-input> </el-form-item> </el-form> <el-button @click="submit('validateRef')" type="primary" :loading="submitLoading">提交</el-button> </div> <!-- import Vue before Element --> <script src="https://unpkg.com/vue/dist/vue.js"></script> <!-- import JavaScript --> <script src="https://unpkg.com/element-ui/lib/index.js"></script> <script> var context=[[${#request.getContextPath()}]]; var ArrayMap = new Vue({ el: '#app', data: function () { return { abc: { hello: '', }, submitLoading:false, } }, methods: { //特殊字符过滤 checkSpecificKey(str) { var specialKey = "[`~!#$^&*()=|{}':;',\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“'。,、?]‘'"; for (var i = 0; i < str.length; i++) { if (specialKey.indexOf(str.substr(i, 1)) != -1) { return false; } } return true; }, //验证字符串 validatePass(rule,value,callback){ var that=this; $.ajax({ url:context+"/abc?name="+that.abc.hello, type:"GET", async:false, dataType:"json", contentType:"application/json;charset=UTF-8", data:{} }).done(function(resp){ if(resp.data.isTrue){ callback(); }else{ callback(new Error("名称重复,请重新输入")) } }) }, //验证字符串 validateFontSize(rule,value,callback){ if(value.length<30){ callback(); }else{ callback(new Error("字符串长度在1-30之间")) } }, //验证字符串 validateCharacter(rule,value,callback){ if(this.checkSpecificKey(value)){ callback(); }else{ callback(new Error('请不要输入特殊字符:[`~!#$^&*()=|{}\':;\',\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“\'。,、?]‘\'')) } }, submit(data) { this.submitLoading=true, this.$refs[data].validate((valid) => { if (valid) { //验证成功,提交 return true; } else { //验证失败返回 return false; } ; }) }, }, }) </script> </body> </html>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:js history
下一篇:头条一面
- vue.js开发环境搭建教程 2020-03-16
- Vue input控件通过value绑定动态属性及修饰符的方法 2020-03-05
- 详解Webstorm 新建.vue文件支持高亮vue语法和es6语法 2020-02-07
- vue路由跳转时判断用户是否登录功能的实现 2020-01-17
- vue-cli中打包图片路径错误的解决方法 2020-01-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash