4

我一直在尝试在表单上使用vee-validate范围。Veutify但是当提交表单时,它不会显示任何错误或表单始终有效。

我想我在执行过程中遗漏了一些东西。

请帮忙。

<div id="app">
  <v-app id="inspire">
    <form  data-vv-scope="form1">
      <v-text-field
        v-model="name"
        label="Name"
        :counter="10"
        :error-messages="errors.collect('form1.name')"
        v-validate="'required|max:10'"
        data-vv-name="name"
        required
      ></v-text-field>
      <v-btn @click.native="submit('form1')">submit</v-btn>
      <v-btn @click="clear">clear</v-btn>
    </form>
  </v-app>
</div>

提交方法:

submit(scope) {
  alert("submit");
  this.$validator.validateAll(scope).then(result => {
    if (result) {
    }
  });
}

示例代码

4

2 回答 2

1

从文档https://baianat.github.io/vee-validate/examples/scopes.html或从提供的示例 https://codesandbox.io/s/y3504yr0l1?from-embed中,这并不明显 ,尤其是在 Vuetify 中使用时。

当您定义 data-vv-name 时,它​​需要以范围为前缀。

data-vv-name="form1.name"
于 2019-08-20T13:50:59.623 回答
0

我认为你应该使用 validator.validate('scope.*') 而不是 $validator.validateAll('scope');

您可以参考此链接 https://vee-validate.logaretm.com/v2/api/validator.html#methods

于 2021-04-23T07:10:46.417 回答