javascript - Yup.date() 验证后将日期转换为没有时区的字符串
问题描述
我将 Yup 与 react-hook-form 一起使用,并且在 Yup 中具有以下架构
const validationSchema = Yup.object({
installation: Yup.string().nullable().required("Required"),
from_date: Yup.date()
.max(new Date(), "Cannot use future date")
.nullable()
.required("Required"),
to_date: Yup.date()
.min(Yup.ref("from_date"), "To Date cannot be before From Date")
.max(new Date(), "Cannot use future date")
.nullable()
.required("Required")
});
当我在输入中键入日期时,验证工作正常,但日期以 格式返回2021-03-31T18:30:00.000Z
,但是我希望日期以2021-03-31
.
我将数据发送到 Django 后端服务器,它只需要一个没有时区的 DateField。我该怎么做?
有没有办法在没有时区的情况下转换日期。如果我改用它,我可以让它工作Yup.string()
,但是必要的验证将不起作用。
可能的解决方案想法(但需要帮助才能理解如何做到这一点)
我可以在 Yup 中编写一些自定义验证吗?如果这是可能的,那么我可以使用Yup.string()
并仍然执行必要的验证
- 利用
Yup.string()
- 转换为日期
- 执行必要的验证
- 将日期重新转换为字符串
- 并返回字符串
PS这个问题有很多观点,但没有重要的评论或答案。我可以更改问题格式以使其更易于理解吗?
解决方案
推荐阅读
- javafx - 如何在 JavaFX 渐变中插入颜色?
- android - 清单在哪里?
- javascript - 在 div 上拖放堆叠多个图像
- css - 在 react-split 中嵌入 react-ace
- python - 尝试使用列表通过 ref 传递参数不起作用?
- sql - 如何配置 Postgres 变量?
- google-cloud-firestore - Firestore:批量更新插入文档
- mysql - NextJS API 功能中的代码是否向客户端公开
- javascript - 在提交 MTurk 作业之前,需要从两组单选按钮中进行选择
- python - 这些字符是否具有某种映射功能?“[1]”、“[2]”、“[3]”、...、“[n]”