如果此current属性的值等于true,并且此endedAt属性的值为null,我想将此endedAt字段设置为必填字段。
以下是我的尝试:
validationSchema: Yup.object({
title: Yup.string()
.trim()
.min(1, t('min-length-x', { x: 1 }))
.max(128, t('max-length-x', { x: 128 }))
.required(t('required')),
organizationName: Yup.string()
.trim()
.min(1, t('min-length-x', { x: 1 }))
.max(128, t('max-length-x', { x: 128 }))
.required(t('required')),
description: Yup.string()
.trim()
.min(0, t('min-length-x', { x: 0 }))
.max(1024, t('max-length-x', { x: 1024 })),
endedAt: Yup.date()
.when(['current', 'endedAt'], {
is: (!current, endedAt) => {
return (!current && endedAt === null)
},
then: Yup.date().required(t('required')),
})
}),
1条答案
按热度按时间bejyjqdl1#
你可以这样修改你的endAt,这样它就可以取current的值,lazy只是用来避免循环依赖错误。
});
常量[表单数据,设置表单数据] =使用状态({标题:“",组织名称:“",说明:“",当前:false,结束时间:空});