You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止VeeValidate自定义字段输入时自动校验

VeeValidate自定义字段仅在提交时校验的修复方案

问题

表单全局配置了仅点击Submit按钮时校验(validateOnBlur: false、validateOnChange: false),默认<Field>组件正常工作,但自定义的<InputText>组件通过useField实现时,输入内容会立刻触发校验(meta.validated变为true),不符合预期。

修复方法

在自定义组件调用useField时,显式传入校验触发时机的配置,与全局设置保持一致:

修改InputText.vue的代码:

<template>
  <input v-model="value" type="text" />
  {{ meta.validated }}
  {{ meta.valid }}
</template>

<script setup>
import { useField } from 'vee-validate';

const props = defineProps({
  name: String,
});

// 添加校验触发配置,关闭输入和失焦时的自动校验
const { value, meta } = useField(props.name, {
  validateOnBlur: false,
  validateOnChange: false,
});
</script>

原因说明

全局的configure配置不会自动覆盖useField的默认行为,useField默认会在字段值变化时触发校验,因此必须显式传入配置项,让自定义字段的校验逻辑和默认<Field>组件同步。

内容的提问来源于stack exchange,提问作者gespinha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 12:52:12