typescript YUP启用基于另一个属性值的属性验证

ctrmrzij  于 2023-02-20  发布在  TypeScript
关注(0)|答案(1)|浏览(169)

我只有在delete =false时才需要验证汇率。否则,根本不需要验证。我尝试了以下代码,但没有成功。当delete = true时,汇率为NAN

charges: array().nullable().of(
        object().shape({
            rate: number().required().typeError("Rate missing")
                .when("delete", {
                    is: true,
                    then: number().notRequired()
                }
                )
        })
    ),
nnsrf1az

nnsrf1az1#

也许可以尝试将'number().when("delete"移动到rate:

charges: array().nullable().of(
        object().shape({
          rate: number().when("delete", {
            is: true,
            then: number().notRequired(),
            otherwise: number().required("Rate missing")
          })
        })
    ),

相关问题