Как я могу проверить значение data () без ввода с помощью vee-validate - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть кнопка для загрузки файлов или добавления некоторого текста
После загрузки он нажал data () prop
Как я могу проверить эту опору, если у них нет ввода

Я найденЕдинственное решение - сделать часы для данных реквизита.и установить валидацию в
Может быть, существует более красивый способ?

Я пробую validator.verify () - но он не отправляет ошибку в основной errorBag из validateAll

Это пример

<div id="app">
  <testc></testc>
</div>

<script type="text/x-template" id="test">
<div>
    <input type="text" v-validate="'required'" name="test_vee">
   {{errors.first('test_vee')}}
  <hr>
    <button @click="addRow">Add</button>
    <input type="text" v-model="inputValue" name="test_input"/>
  <hr>
    {{rows}}
  <hr>
  {{errors.first('rows')}}
    <button @click="validateForm">Validate</button>
  </div>
</script>

и сценария

Vue.component('testc', {
  template: '#test',
  data() {
        return {
            inputValue: '',
            rows: []
        }
    },
  watch: {
    rows: {
      handler: function(newVal, oldVal) {
        this.$validator.errors.remove('rows');
        if (this.rows.length < 2) {
          this.$validator.errors.add({
            id: 'rows',
            field: 'rows',
            msg: 'Need 2 rows!',
          });
        }
      }
    }
  },
  methods: {
    addRow: function() {
      this.rows.push(this.inputValue);
      this.inputValue = '';
    },
    validateForm: function(){
       this.$validator.validateAll();
    }
  }
});

Vue.use(VeeValidate);

new Vue({
  el: '#app'
})

https://codepen.io/gelid/pen/YBajER

Первый вход в примере: проверка по умолчанию - все в порядке
Второй ввод: для добавления элементов - проверка не требуется или имеет самопроверку (например, не пусто)
В данных компонента у меня есть строки проп - это необходимо проверить перед Ajax-запросом для сохранения данных

...