javascript - 表单验证后 isValid 保持为假
问题描述
我有一个自定义验证函数,但即使它没有返回错误,表单仍然无效。
我将以下属性传递给 Formik:
validate={({ import_files }) => {
return [...import_files.values()].length === 0
? { import_files: 'Please choose a file to import' }
: {};
}}
onSubmit={onSubmit}
initialValues={{ import_files: new Map([]) }}
如您所见,该字段已被触摸,它没有错误但isValid
仍然是false
. 为什么表格仍然无效?
解决方案
isValid
有时会出人意料。您应该考虑将验证检查切换到errors
数组。
如果没有错误,errors
那么一切正常。
const isValid = !Object.keys(errors).length
您可以在这个未解决的问题中找到更多数据: https ://github.com/jaredpalmer/formik/issues/1116
推荐阅读
- python - 加载特定行的 numpy 数组
- reactjs - 使用 chartjs 构建 24 小时可视化
- javascript - 查找最近添加的具有关系条件的实体
- python - 如何在不使用 numpy 的情况下将数据提取到二维数组中
- node.js - Nextjs 项目在本地突然停止工作
- node.js - 我可以对几个端点使用一个后端请求吗?
- c# - HTML 附加字符串
- html - 使用引导程序使用 col- 和 flexbox 左对齐列
- flutter - 当我尝试注入依赖项时,出现了一个错误,上面写着 Failed assertion: line 315 pos 7: 'instanceFactory != null'
- c# - JSON 值无法转换为 System.Int64