表单验证后 isValid 保持为假

isValid stays false after form validates

我有一个自定义验证函数,但即使它 returns 没有错误,表单仍然无效。

我将以下属性传递给 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([]) }}

Here is a console log of the formik object after validation

如您所见,该字段已被触摸,没有错误,但 isValid 仍然是 false。 为什么表格仍然无效?

isValid 有时会出乎意料。 您应该考虑将验证检查切换到 errors 数组。

如果 errors 中没有错误,则一切正常。

const isValid = !Object.keys(errors).length

您可以在这个未解决的问题中找到更多数据: https://github.com/jaredpalmer/formik/issues/1116