我正在尝试在错误消息中输出字段值,如下所示:
const schema = commonSchema.concat(Yup.object().shape({
name: Yup
.string()
.oneOf(
[Yup.ref('oldName'), null],
`Name must match oldName - ${Yup.ref('oldName').getValue()}`
)
.required('name'),
}));
这给出TypeError:无法读取未定义的属性“ parent”。在错误消息中访问字段值的正确方法是什么?
答案 0 :(得分:1)
我用来将值转换为错误消息的技巧是使用yup.lazy方法。
yup.lazy((value: any) => Schema): Lazy
在您的情况下,看起来像这样,
const schema = commonSchema.concat(Yup.object().shape({
name: Yup.lazy((value) =>
Yup.string()
.oneOf(
[Yup.ref('oldName'), null],
`Name must match oldName - ${value}`
)
.required('name')),
}));