vue form表单验证清除

说在前面
在开发中有这样一个需求,单击按钮会弹窗,填写表单后,触发验证提示信息。关闭弹窗后,在次打开,验证提示信息还会存在。这种不是太友好,所以在弹窗后,手动清除上一次的验证提示信息。

清除表单内容和清除表单验证消息

this.$nextTick(()=>{
  this.$refs['testForm'].resetFields();
})

只清除表单验证消息,不清除表单内容

this.$nextTick(()=>{
  this.$refs['testForm'].clearValidate() 
})

清除表单验证消息不起作用时,可尝试

  setTimeout(() => {
    this.$refs["testForm"].clearValidate();
  }, 30);

注:testForm 是指当前表单绑定的对象
<el-form ref="testForm" :model="testForm"/>

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个基本的 Vue 表单输入验证代码示例: 模板: ``` <template> <div> <label for="name">Name:</label> <input type="text" id="name" v-model="name" /> <div v-if="nameError" class="error">{{ nameError }}</div> <label for="email">Email:</label> <input type="email" id="email" v-model="email" /> <div v-if="emailError" class="error">{{ emailError }}</div> <button @click="submitForm">Submit</button> </div> </template> ``` 脚本: ``` <script> export default { data() { return { name: "", email: "", nameError: "", emailError: "" }; }, methods: { submitForm() { this.nameError = ""; this.emailError = ""; if (!this.name) { this.nameError = "Please enter your name."; } if (!this.email) { this.emailError = "Please enter your email."; } else if (!this.validEmail(this.email)) { this.emailError = "Please enter a valid email."; } if (!this.nameError && !this.emailError) { // Form is valid, submit it console.log("Submit form with name:", this.name, "and email:", this.email); } }, validEmail(email) { // Check if email is valid // Regex source: https://emailregex.com/ const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; return regex.test(email); } } }; </script> ``` 样式: ``` <style> .error { color: red; } </style> ``` 在上面的示例中,我们有一个包含姓名和电子邮件输入的表单,并且在提交表单之前对用户输入进行验证。我们使用 `v-model` 指令来绑定表单输入值到 Vue 实例中的 `name` 和 `email` 数据属性。我们还定义了 `nameError` 和 `emailError` 数据属性来保存任何验证错误消息。 在 `submitForm` 方法中,我们首先清除任何现有的错误消息。然后,我们验证姓名和电子邮件输入是否为空,并对电子邮件进行基本的格式验证。最后,如果表单验证通过,我们可以提交表单。 在 `validEmail` 方法中,我们使用正则表达式来验证电子邮件地址的格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值