关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

本文介绍Vue中表单验证的常见问题及解决方案,包括如何正确使用prop属性、el-form-rules及ref标识进行表单验证,并提供数字类型验证的方法。
方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.refs[formName]formformform1.使propinputelformitemprop2.elformrulesmodelref:.validate/resetFields1DOM2this.refs[formName],检查是否拿到了正确的需要验证的form。其次在拿到了正确的form后,检查该form上添加的表单验证是否正确,需要注意的点有:1.使用此方法前检查prop一定必须要写在上面,写在里面的input上或者其他任何地方都不行(el−form−itemprop属性绑定)2.el−formrules,model属性绑定,ref标识自定义表单验证的坑:一.validate/resetFields未定义。1:要验证的DOM,还没有加载出来。2:有可能this.refs[ruleForm].validate() 方式不识别。需要使用: this.refs.ruleForm.validate();this.ticketDialog=true;//this.refs.ruleForm.validate();这种方式,不是你们想要的结果。解决办法:this.ticketDialog=true;//对整个表单进行重置,将所有字段值重置为初始值并移除校验结果this.nextTick(function() { this.refs.ticketInfoForm.resetFields();

})
或者:this.
refs.ticketInfoForm.resetFields();})或者:this.
refs[ruleForm].validate() 方式不识别。需要使用: this.refs.ruleForm.validate();
那么如下所示:
methods: {   

  submitForm(ruleForm2) {

    //官网 this.
refs.ruleForm.validate();那么如下所示:methods: {     submitForm(ruleForm2) {    //官网 this.
refs[ruleForm2].validate(); //在实际使用中,会报错。validate未定义 //使用this.refs.ruleForm2.validate();this.refs.ruleForm2.validate();成功。this.refs[ruleForm2].validate((valid) => { if (valid) { alert(‘submit!’); } else { console.log(‘error submit!!’); return false; } }); } } 二. 数字类型的验证, 兼容mac和windows系统。 数字类型的验证需要在 v-model 处加上 .number 的修饰符,这是 Vue 自身提供的用于将绑定值转化为 number 类型的修饰符。 如下所示:
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值