我在Yup中有这个架构,它在日期字段上设置了最小日期约束:
Yup.date()
.required(strings.RequiredField(strings.Invoice_Label_DueDate))
.min(new Date(), "Date cannot be in the past")
但是,如果我选择了当前日期,它将仍然计算为过去的日期。请注意,当我执行max(new Date(), ...)
时不会发生这种情况。在这种情况下,它包括迄今为止的所有过去日期,包括当前日期。
答案 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')