Yup / Formik分钟日期不包括当前日期

时间:2019-02-28 02:47:07

标签: reactjs formik yup

我在Yup中有这个架构,它在日期字段上设置了最小日期约束:

Yup.date()
   .required(strings.RequiredField(strings.Invoice_Label_DueDate))
   .min(new Date(), "Date cannot be in the past")

但是,如果我选择了当前日期,它将仍然计算为过去的日期。请注意,当我执行max(new Date(), ...)时不会发生这种情况。在这种情况下,它包括迄今为止的所有过去日期,包括当前日期。

编辑:这是问题https://codesandbox.io/s/jznz5vl7lw

的示例

2 个答案:

答案 0 :(得分:0)

例如,如果要将最小值设置为昨天的日期,则可以声明一个变量并将其设置为昨天的日期(还有许多其他方式):

const yesterday = new Date(Date.now() -86400000);

然后:

.min(yesterday, "Date cannot be in the past")

答案 1 :(得分:0)

您还可以使用:

const today = new Date();
today.setHours(0, 0, 0, 0)

然后

.min(today, 'Date cannot be in the past')