vee仅对第一领域进行验证吗?

时间:2019-04-17 17:29:55

标签: vue.js vuejs2 vee-validate

我创建了两个模式(loginModal和registerModal),用户可以在其中动态切换。

“ VeeValidate”插件存在问题,如果我向错误包中添加了某些内容,它只会验证第一个字段。

我在这里为该问题创建了一个演示: https://2o2z51km00.codesandbox.io/ 资源: https://codesandbox.io/s/2o2z51km00

  1. 打开loginModal(默认情况下将打开)。
  2. 提交默认的登录信息(您将看到“您输入的信息无效 凭据”消息。
  3. 看到该消息后,
  4. 切换以注册模式。
  5. 提交寄存器模式(输入为空)

如您所见,它仅突出显示第一个字段(全名字段),而忽略其他字段。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

花了很多时间,并且不知道从2.1 til 2.2.3开始的更高版本中的最新更改。

问题在于试图使用相同名称的多个模式。可以使用作用域来解决此问题,就像我在您的项目的分叉中实现的那样。

https://codesandbox.io/s/vv0jqprpj0

因此,也添加输入:

data-vv-scope="SCOPE"

并使用它来验证字段

this.$validator.validate('SCOPE.*')

对此要注意的一点是,您在RegisterModal上使用v-show来显示错误,而在LoginModal上使用v-if-正确的是使用v-if