reactjs - 即使选择了正确的文件类型,我也会收到验证错误。我正在使用 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}
/>
解决方案
推荐阅读
- html - iOS Safari 中的轮廓渲染错误
- css - 元素通过 React 中的组件溢出
- javascript - VueJS 插槽不能与 Stencil JS 组件一起使用?
- spring-boot - java - 如何在使用JdbcBatchItemWriter的春季批处理中参数为null / 0时跳过更新
- php - 清除货币切换器更改的 WooCommerce 购物车
- .net-core - 如何在第一个项目失败时停止 FluentValidation RuleForEach
- vue.js - 通过 vuejs npm 包提供公共资产
- azure - 如何管理 Cosmos DB 中多次写入的会话令牌?
- javascript - 如何使用反应路由器dom显示详细信息页面
- cordova - Cordova 视频文件上传 Android 10 目标级别 29 不起作用