Vuejs2 子组件验证vee验证

Vuejs2 子组件验证vee验证,vuejs2,vee-validate,Vuejs2,Vee Validate,我正在使用vee validate验证我的字段,下面是我的问题: 我想在提交前验证表单,有些表单位于子组件中 那么我该如何处理呢?对于您的第一个问题,请在提交前验证表单,您可以根据文档执行以下操作 html标记: 关于嵌套组件表单,让我们提供一些代码,以便更好地帮助您要在调用validateAll时验证子组件,请使用vue的提供/注入api为子组件提供父验证程序: 注入:['$validator'] 你需要提供一些代码,没有人能在不知道你有什么的情况下给你一个有效的代码 <form @su

我正在使用vee validate验证我的字段,下面是我的问题:

我想在提交前验证表单,有些表单位于子组件中
那么我该如何处理呢?

对于您的第一个问题,请在提交前验证表单,您可以根据文档执行以下操作

html标记:


关于嵌套组件表单,让我们提供一些代码,以便更好地帮助您

要在调用validateAll时验证子组件,请使用vue的提供/注入api为子组件提供父验证程序:

注入:['$validator']


你需要提供一些代码,没有人能在不知道你有什么的情况下给你一个有效的代码
<form @submit.prevent="validateBeforeSubmit">
    <div class="column is-12">
        <label class="label">Email</label>
        <p class="control has-icon has-icon-right">
            <input name="email" v-model="email" v-validate="'required|email'" :class="{'input': true, 'is-danger': errors.has('email') }" type="text" placeholder="Email">
            <i v-show="errors.has('email')" class="fa fa-warning"></i>
            <span v-show="errors.has('email')" class="help is-danger">{{ errors.first('email') }}</span>
        </p>
    </div>
    <div class="column is-12">
        <label class="label">Name</label>
        <p class="control has-icon has-icon-right">
            <input name="name" v-model="name" v-validate="'required|alpha'" :class="{'input': true, 'is-danger': errors.has('name') }" type="text" placeholder="Name">
            <i v-show="errors.has('name')" class="fa fa-warning"></i>
            <span v-show="errors.has('name')" class="help is-danger">{{ errors.first('name') }}</span>
        </p>
    </div>
    <div class="column is-12">
        <label class="label">Phone</label>
        <p class="control has-icon has-icon-right">
            <input name="phone" v-model="phone" v-validate="'required|numeric'" :class="{'input': true, 'is-danger': errors.has('phone') }" type="text" placeholder="Phone">
            <i v-show="errors.has('phone')" class="fa fa-warning"></i>
            <span v-show="errors.has('phone')" class="help is-danger">{{ errors.first('phone') }}</span>
        </p>
    </div>
    <div class="column is-12">
        <label class="label">Website</label>
        <p class="control has-icon has-icon-right">
            <input name="url" v-model="url" v-validate="'required|url'" :class="{'input': true, 'is-danger': errors.has('url') }" type="text" placeholder="Website">
            <i v-show="errors.has('url')" class="fa fa-warning"></i>
            <span v-show="errors.has('url')" class="help is-danger">{{ errors.first('url') }}</span>
        </p>
    </div>

    <div class="column is-12">
        <p class="control">
            <button class="button is-primary" type="submit">Submit</button>
        </p>
    </div>
</form>
export default {
  name: 'form-example',
  data: () => ({
    email: '',
    name: '',
    phone: '',
    url: ''
  }),
  methods: {
    validateBeforeSubmit() {
      this.$validator.validateAll().then((result) => {
        if (result) {
          // eslint-disable-next-line
          alert('From Submitted!');
          return;
        }

        alert('Correct them errors!');
      });
    }
  }
};