下面是我的代码。我想在提交期间验证表单。我阻止提交操作,直到所有数据都有效。因此我使用了“validata all()”方法。如果表单的日期为空/无效,则应提示“未提交”。否则应提示“已提交”。我的问题是,当我第一次单击提交按钮时,警报显示为“已提交”而不是“未提交” Result1。但是当我第二次或进一步单击相同的按钮时,它正确显示为“未提交” Result2。我不知道原因,为什么它在第一次不起作用。
<template>
<div id="app">
<h1>Add Items</h1>
Product Name :
<input type="text" name="product" v-validate="'required|alpha_dash'" >
<span style="color:red;">{{errors.first('product')}}</span>
<br>
Product Price :
<input type="number" name="price" v-validate="'required|min_value:100|max_value:500'">
<span style="color:red;">{{errors.first('price')}}</span>
<br>
<button @click="submit">Save</button>
</div>
</template>
<script>
import Vue from 'vue'
import VeeValidate from 'vee-validate'
Vue.use(VeeValidate)
export default {
name: 'addEmpl',
methods: {
submit() {
this.$validator.validateAll()
if (!this.errors.any()) {
alert('submitted')
}else{
alert('not submitted')
}
}
}
}
</script>