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

React Formik 输入表单字段时自动触发报错问题求助

问题原因及修复方案

1. 校验触发时机不符合预期

Formik默认开启validateOnChange、validateOnBlur配置,输入内容、输入框失焦时都会自动触发校验逻辑。你为每个Field都绑定了非空校验函数,所以只要输入第一个字符就会触发校验,出现非空报错。
修复方式:给Formik组件添加配置,关闭输入和失焦时的自动校验,仅保留提交时校验:

<Formik 
  onSubmit={ontNewSliderSubmit}
  validateOnChange={false}
  validateOnBlur={false}
>

2. Slider En Button Text字段错误判断逻辑错误

对应代码里的错误判断条件误用了其他字段的错误变量:

// 错误写法
{errors.sliderEnText && (
    <div className="invalid-feedback d-block">
        {errors.sliderEnButtonText}
    </div>
)}

判断条件写的是errors.sliderEnText,但实际要判断的是当前sliderEnButtonText字段的错误,逻辑混乱会导致异常报错。
修复方式:修改判断条件为对应字段的错误变量:

{errors.sliderEnButtonText && (
    <div className="invalid-feedback d-block">
        {errors.sliderEnButtonText}
    </div>
)}

3. 提交参数拼写错误

提交参数里取sliderArButtonLink字段值的时候拼写错误:

// 错误写法,最后一个字母l小写
slider_ar_button_link: values.sliderArButtonlink,

字段的name属性定义为sliderArButtonLink(最后一个字母L大写),拼写不一致会导致取值为undefined,触发运行时报错。
修复方式:统一拼写:

slider_ar_button_link: values.sliderArButtonLink,

完成以上三处修改即可解决你遇到的所有问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:45:08