gpt4 book ai didi

javascript - 福米克和是的 : How to validate if the provided date is eighteen years old?

转载 作者:行者123 更新时间:2023-12-03 08:33:55 25 4
gpt4 key购买 nike

我正在开发一个用 Formik、Yup 和 ReactJS 制作的表单。在日期字段中,我试图验证用户是否年满 18 岁。我已在 Formik 中将以下内容作为validationSchema 参数传递:

import differenceInYears from "date-fns/differenceInYears";
...
...
...
dob: Yup.date()
.nullable()
.test("dob", "Should be greater than 18", function (value) {
return differenceInYears(value, new Date()) >= 18;
}),

formik 输入字段的名称是 dob。但即使我输入 18 岁的有效日期,它也会显示验证错误。那么,如何正确验证呢?

最佳答案

您需要交换日期参数:

differenceInYears(new Date(), new Date(value)) >= 18;

如果你检查 date-fns docs ,第一个参数应该是较晚的日期。

您还需要将字段值解析为日期

关于javascript - 福米克和是的 : How to validate if the provided date is eighteen years old?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64426021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com