ElementUI el-form 表单规则验证 输了值却依然提示报错

本文介绍了如何解决ElementUI的el-form组件在进行规则验证时,即使输入了值仍然显示错误提示的问题。关键点包括区分model和data,确保el-form-item的prop属性设置正确并与v-model对应,同时要保证el-form的model属性与data中变量前缀一致,并且不要忘记初始化data中的变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决方法

  • el-form 组件上的 model 属性,注意区分model和data,el-table是data,别混肴。
<el-form :model="formData" :rules="rules"></el-form>
  • el-form-item 组件上的 prop 属性别丢失,与v-model的变量名相同,model属性不可或缺,缺失无法验证表单

                
el-form验证报错TypeError: Cannot read properties of undefined (reading 'validate')通常是由于在Vue2工程中使用ElementUI表单(Form)的表单校验时出现的错误。这个错误通常是由于在表单校验之前没有正确地引入ElementUI校验器validator导致的。解决这个问题的方法是在Vue组件中正确引入validator并在表单校验之前初始化它。 以下是一个解决el-form验证报错TypeError: Cannot read properties of undefined (reading 'validate')的例子: ```javascript <template> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="用户名" prop="username"> <el-input v-model="form.username"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input type="password" v-model="form.password"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('form')">提交</el-button> <el-button @click="resetForm('form')">重置</el-button> </el-form-item> </el-form> </template> <script> import { Validator } from 'element-ui' export default { data() { return { form: { username: '', password: '' }, rules: { username: [ { required: true, message: '请入用户名', trigger: 'blur' } ], password: [ { required: true, message: '请入密码', trigger: 'blur' } ] } } }, methods: { submitForm(formName) { this.$refs[formName].validate(valid => { if (valid) { alert('验证通过') } else { alert('验证失败') return false } }) }, resetForm(formName) { this.$refs[formName].resetFields() } }, mounted() { Validator.installDateTimeValidators(moment) } } </script> ``` 在这个例子中,我们首先从ElementUI中引入了Validator,然后在Vue组件的mounted钩子函数中初始化了Validator。这样就可以在表单校验之前正确地使用Validator了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

News777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值