是的模式验证,其中一个字段是必需的,具体取决于另一个字段的值

时间:2021-01-15 15:46:34

标签: reactjs yup

我有一个带有 react-hooks-form 的表单,我正在尝试使用 yup 验证。 它现在工作正常,但我试图根据 product[0].hasVrnts 的值使字段“变体”成为必需的(当 hasVrnt===1 时应该需要变体)。 架构对象是:

const schema = yup.object().shape({
    date: yup.date().required(),
    beginDate: yup.date().required(),
    qty: yup.number().integer().positive(),
    product: yup.array().length(1).of(yup.object().shape({
        id: yup.number().integer().positive().required(),
        bom: yup.object({
            id: yup.number().integer().positive().required(),
            revId: yup.number().integer().positive().required(),
            code: yup.string(),
            name: yup.string()
        }),
        units: yup.array(),
        unitSet: yup.number().integer(),
        code: yup.string(),
        name: yup.string(),
        grp: yup.string(),
        hasVrnts: yup.number().integer()

    })).required(),

    variant: yup.array().length(1).of(yup.object().shape({
        id: yup.number().integer().positive(),
        code: yup.string(),
        name: yup.string(),
        unitSet: yup.number().integer(),
        units: yup.array(),
        recStats:yup.number().integer()
    })),
    rsrvd: yup.boolean() 
})

提前谢谢你们。

0 个答案:

没有答案