时间:2021-05-28
具体代码如下所示:
<!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" rel="external nofollow" ></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>下面看下vue-element 输入框验证
1.控制输入位数
限制输入为10位,这种方式可以使输入框中输入10位后不能输入后续内容
因为number输入框自动将最后一位小数点忽略不计,因此“.”,"2.","3.3."这三种情况均为正确的输入
<el-form-item label="渠道:" prop="channelName"> <el-input v-model="formData.channelName" :maxlength="10" placeholder="请输入渠道名称"></el-input></el-form-item>rules:{ channelName:[ {required:true,message:'渠道名称不能为空',trigger:'change'}, ], }2.控制小数输入位数
input 设置类型为number,step控制步长,正则表达式匹配输入的格式必须为xxx.xxx.
注意,此种方法无法区分不输入的情况,故将提示信息合并为一个。
统一触发方式为change
<el-form-item label="短信单价:" prop="price" class="form-price"> <el-input type="number" step="0.001" v-model="formData.price" placeholder="请输入"></el-input></el-form-item>//js let checkPrice = (rule,value,callback)=>{ if(value){ let rgx = /^\d+(\.\d{1,3})?$/; if(value.match(rgx)==null){ return callback(new Error('请检查输入格式,不能为空,且最多三位小数')) }else{ callback(); } } }; rules:{ price:[ {required:true,message:'请检查输入格式,不能为空,且最多三位小数',trigger:'change'}, {validator:checkPrice,trigger:'change'} ] },3.验证时间控件选择的时间是否在某个范围
let checkSendTime = (rule, value, callback) => { let hour = value ? value.getHours() :0; if (value !== "") { if (hour < 8 || hour > 21) { return callback(new Error('请选择8:00~22:00之间发送')); } else { callback(); } } }; sendTime:[ {type:'date',required: true, message: '发送时间不能为空', trigger: 'blur'}, {validator:checkSendTime,trigger:'blur'} ]总结
以上所述是小编给大家介绍的element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Js中使用正则表达式验证输入是否有特殊字符的代码如下所示://验证是否有特殊字符functioncheckval(t){varre=/^[\u4e00-\u9f
本文实例为大家分享了vue实现短信验证码输入框的具体代码,供大家参考,具体内容如下先上最终效果(此处代码显示的是短信验证码框的效果其余部分并未放上去)htmlj
js判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证。废话不多说上代码:js
题目:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例:示例1:输入:“abcabcbb”输出:3解释:因为无重复字符的最长子串是“abc”,所
本文实例汇总了js对字符的验证方法。分享给大家供大家参考。具体如下:复制代码代码如下:/***检查输入的一串字符是否是字符*输入:str字符串*返回:t