首页 > 解决方案 > 即使选择了正确的文件类型,我也会收到验证错误。我正在使用 formik 和是的

问题描述

即使选择了正确的文件类型,我仍然需要验证错误。我正在使用 Yup 进行验证

file: Yup.mixed().when("showfile", {
            is: true,
            then: Yup.mixed()
                .nullable()
                .required("File is Required")
                .test(
                    "FILE_SIZE",
                    "Uploaded file is too big.",
                    (value) => !value || (value && value.size <= FILE_SIZE)
                )
                .test(
                    "FILE_FORMAT",
                    "Uploaded file has unsupported format.",
                    (value) => !value || (value && SUPPORTED_FORMATS.includes(value.type))
                ),

我正在使用 formik 处理我的文件字段,即使在选择正确的文件后也会出现文件验证错误

<TextField
                                    label="Resume"
                                    star="*"
                                    color="red"
                                    name="file"
                                    type="file"
                                    accept=".pdf ,.docx,.doc "
                                    onChange={(event) => {
                                        formik.setFieldValue("file", event.currentTarget.files[0]);
                                        formik.setFieldValue("showfile", true);
                                    }}
                                    value={formik.values.file}
                                />

标签: reactjsformikyup

解决方案


推荐阅读