Dam*_*ian 4 vue.js vee-validate
我的表单验证几乎可以正常工作了 - 我正在使用带有 Vue.js 的 Vee Validate 3。Vee Validate 的大多数示例都是针对版本 2 的,所以我有点挣扎。
我遇到的问题是在提交表单时触发验证。
如果我先单击文本字段以关注它,然后单击提交,则会触发验证并看到错误消息。
但是,如果我没有先单击文本字段而只是单击提交按钮,则我看不到错误消息。
在单击提交之前,如何使这项工作无需关注文本字段?
奇怪的是,控制台TypeError: this.validate is not a function在两种情况下都显示错误- 无论验证是否有效。
<ValidationProvider rules="required" v-slot="{ validate, errors }">
<div>
<input type="text" rules="required">
<p id="error">{{ errors[0] }}</p>
</div>
</ValidationProvider>
<script>
export default {
methods: {
async validateField() {
const valid = await this.validate()
}
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
Dam*_*ian 10
Adam 通过 ValidationObserver 为我指明了正确的方向。
这段代码对我有用...
<ValidationObserver ref="observer" v-slot="{ invalid }" tag="form" @submit.prevent="submit()">
<ValidationProvider rules="required" v-slot="{ errors }">
<input type="text">
<p id="error">{{ errors[0] }}</p>
</ValidationProvider>
<button @click="submit()">Submit>/button>
</ValidationObserver>
<script>
import { VslidationProvider, ValidationObserver } from 'vee-validate'
import { required } from 'vee-validate/dist/rules'
export default {
methods: {
async submit () {
const valid = await this.$refs.observer.validate()
}
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8327 次 |
| 最近记录: |