Vuejs + VeeValidate передача параметров дочернему компоненту - PullRequest
0 голосов
/ 13 июня 2018

Я создал компонент с именем Месяц, в котором я передаю некоторые реквизиты:

<template>
  <select :id="id" :name="id" :class="extraClasses" :v-validate="{required: req}">
    <option v-if="def" selected disabled :value="null">{{def}}</option>
    <option v-if="!def" selected disabled :value="null">Month</option>
    <option v-for="(month, index) in months" :key="index" :value="pad(index)">{{month}}</option>
  </select>
</template>

Все они работают правильно, если я вызываю его с чем-то вроде:

<Month id="dob_month" extraClasses="month" def="Initial month" />

Однако, когда япопробуйте передать часть проверки, которую VeeValidate, похоже, игнорирует:

<Month id="dob_month" req="true" />

Есть ли способ передать проверку детям, не используя шину сообщений, чтобы я мог сделать что-то подобное в родительском?:

<fieldset id="dob" :class="{'has-error': errors.has('dob_day') || errors.has('dob_month') || errors.has('dob_year') }">
  <legend class="a-required">Date of Birth</legend>
  <input type="hidden" id="date_of_birth" name="date_of_birth" />
  <select id="dob_day" name="dob_day" v-validate="'required'">
    <option selected disabled value="">Day</option>
    <option v-for="day in monthDays" :key="day" :value="day">{{day}}</option>
  </select>
  <Month id="dob_month" req=true />
  <Year id="dob_year" req="true" />
</fieldset>

Или я не смогу получить ошибок , правильно заполненных / распространенных между родителем и ребенком?

1 Ответ

0 голосов
/ 22 июня 2018

Вам не нужно использовать: для v-проверки.Его значение уже интерполировано внутри vee-validate.Нечто подобное должно работать:

  <select :id="id" :name="id" :class="extraClasses" v-validate="{required: req}">

См. Этот код, например, с правилом min и локальной переменной https://codepen.io/aldarund/pen/LrmaKz

...