我正在验证我的 AddItemComponent.vue 中的输入...它工作正常,输入空字符串时显示错误消息,当用户输入任何值时不显示错误...但是添加项目后,输入字段被清除但错误显示消息(我没有使用 v-validate.initial )
我尝试插入: this.$validator.clean() 添加项目后.. wo 任何成功
更新
我明白发生了什么,但我不知道如何解决它..添加项目后,方法'addItem()创建一个新的空项目以清除输入字段......这再次引发验证错误......
添加项目组件
<template>
<div>
<div class="input-group">
<input type="text" name="item" data-vv-delay="500" v-validate="'required'" :class="{'input': true, 'is-danger': errors.has('required') }" @keyup.enter="addItem" v-model="newItem" placeholder="add shopping list item" class="form-control">
<span class="input-group-btn">
<button @click="addItem" class="btn btn-default" type="button">Add!</button>
</span>
</div>
<p v-show="errors.has('item')">{{ errors.first('item') }}</p>
</div>
</template>
<style scoped>
p { color: red; }
span, input, button { vertical-align: top; }
</style>
<script>
export default {
props: ['id'],
data () {
return {
newItem: ''
}
},
methods: {
addItem () {
var text
text = this.newItem.trim()
if (text.length > 0) {
this.$emit('add', this.newItem)
this.newItem = ''
}
this.$store.dispatch('updateList', this.id)
}
}
}
</script>