Yup表单的多个date.min()验证

问题描述 投票:0回答:1

我需要在Yup表单中为一个字段运行两个验证。

  1. 到期日期必须晚于今天。
  2. 到期日期必须晚于发布日期。

如何构造此架构以允许进行两次最小验证?因为当前此代码无法正常工作。

date: Yup
  .date()
  .min(new Date(), 'Date must be later than today.')
  .min(Yup.ref('issueDate'), 'Expiry date must be greater than issue date')
  .typeError('Please provide a valid date')
  .required('Please specify the expiry date'
javascript reactjs validation formik yup
1个回答
0
投票

您可以为issueDate创建方案。并检查.when()


issueDate: Yup
      .date()
      .required(),
date: Yup
      .date()
      .when(
        'issueDate',
        (issueDate, schema) => (issueDate && schema.min(issueDate, 'Expiry date must be greater than issue date')),
      ),
© www.soinside.com 2019 - 2024. All rights reserved.