У меня есть форма, в которой входы добавляются динамически с помощью цикла v-for. Каждое поле должно быть проверено, и прежде чем пользователь отправит форму, оно должно быть проверено независимо от того, является ли оно действительным или нет. Проблема в том, что this.$validator.validateAll()
всегда возвращает true, даже если входные данные неверны. Что я делаю неправильно?
<div id="app">
<v-app id="inspire">
<v-flex md4 offset-md4>
<form data-vv-scope="photoForm">
<v-text-field v-for="index in 5"
:key="index"
:label="'photo' + index"
:error-messages="errors.collect('photoForm.photoName' + index)"
v-validate="'max:10'"
:data-vv-name="'photoForm.photoName' + index"
color="purple" autocomplete="on"
counter="10" >
</v-text-field>
</form>
<p>Is valid form? {{ validationResult }}</p>
</v-flex>
<v-btn @click="validate" color="purple" dark>
validate
</v-btn>
</v-app>
</div>
Vue.use(VeeValidate);
new Vue({
el: "#app",
data() {
return {
validationResult: ''
}
},
methods: {
validate() {
this.$validator.validateAll('photoForm').then(result => {
this.validationResult = result
})
}
}
});
И codepen, где я воспроизвел проблему: https://codepen.io/anon/pen/jjrJdE