当前位置: 首页 > 知识库问答 >
问题:

Vee validate on blur阻止表单提交

司徒博容
2023-03-14

我正在使用vee验证vue中的表单。js。验证应该在blur上启动。有一个提交按钮,用于验证表单中的所有字段。

问题是,当我在键入一些输入后单击submit按钮时,只会触发blur事件并验证输入字段。未触发提交事件。如果再次单击该按钮,将触发提交事件。

<form v-on:submit.prevent="submit" autocomplete="off">
    <div>
      <div>{{ errors.first('carNumber') }}</div>
      <input v-model="carNumber" name="carNumber" v-validate="'numeric'"/>
      <button type="submit">Submit</button>
    </div>
</form>

示例代码链接:https://jsfiddle.net/2u6n7xfr/35/

复制步骤:

  1. 在输入中键入一些无效值,即:qwerty
  2. 单击提交按钮。(未激发提交事件。)
  3. 在输入中键入一些有效值,即:1234
  4. 单击提交按钮。(未激发提交事件。)

共有1个答案

东深
2023-03-14

代替

this.$validator.validate("*").then(function(valid) {

与:

this.$validator.validateAll().then(function(valid) {

见:https://jsfiddle.net/Ljo9uw1y/

--

您提到的另一个问题与实际单击按钮有关:我认为您的问题是,当您单击“提交”按钮时,“提交”按钮会“移动”,因此不会触发事件。例如,将错误移至submit按钮下方会导致单击工作:jsfiddle。净/5goe4vcf

一种修复方法是缩小错误消息,使其不会向下产生大气泡,并使“提交”按钮变大,使其在单击过程中不会退出鼠标指针的作用域。

 类似资料:
  • 问题内容: 我只是写了这个漂亮的小函数,它可以在表单本身上工作… 按照我的逻辑,我想在输入textarea期间接受回车。同样,将输入字段的回车键行为替换为跳到下一个输入字段的行为(就像按下Tab键一样)将是额外的好处。有谁知道使用事件传播模型正确触发适当元素上的回车键,但阻止表单在其按下时提交的方法吗? 问题答案: 这是我功能的修改版本。它执行以下操作: 防止Enter键在除textarea,bu

  • 本文向大家介绍JavaScript阻止回车提交表单的方法,包括了JavaScript阻止回车提交表单的方法的使用技巧和注意事项,需要的朋友参考一下 大家对回车键的功能应该比较熟悉,比如在windows系统的很多应用程序中,只要点击回车键就可以进入此程序或者开启某项功能,不过有时候我们希望阻止它的功能,例如在填写表单的时候,可能不小心点击回车键造成表单误提交,下面就来简单介绍一下如何实现此功能。代码

  • 问题内容: 我在网站上进行了一项调查,用户单击Enter键(我不知道为什么),然后不按提交按钮就意外提交了调查(窗体),似乎存在一些问题。有办法防止这种情况吗? 我在调查中使用的是HTML,PHP 5.2.9和jQuery。 问题答案: 您可以使用诸如 在阅读原始帖子的评论时,要使其更加有用,并允许人们在完成所有字段后按下:

  • 本文向大家介绍利用JavaScript阻止表单提交的两种方法,包括了利用JavaScript阻止表单提交的两种方法的使用技巧和注意事项,需要的朋友参考一下 在JavaScript中,阻止表单默认提交行为的方法有两种,分别是: (1) return false 示例代码 (2) 使用preventDefault() 在标准浏览器中,阻止浏览器默认行为使用event.preventDefault(),

  • 本文向大家介绍jquery实现表单验证并阻止非法提交,包括了jquery实现表单验证并阻止非法提交的使用技巧和注意事项,需要的朋友参考一下 代码检测textarea内填写的长度,未填写时提示需要重新填写,少于15字符时提示需要长于15字符,成功时显示所填写建议。 >关键点 1.必须要有onSubmit="return confirm();" return 这个词,不可缺少。 2.自行完整的网页结构

  • 问题内容: 我搜索了一堆页面,但是找不到我的问题,所以我不得不发表一个帖子。 我有一个带有提交按钮的表单,提交后我不希望它刷新或重定向。我只希望jQuery执行功能。 形式如下: 这是jQuery: 问题答案: 只需处理Submit事件中的表单提交,然后返回false: 您不再需要提交按钮上的onclick事件: