javascript - 是的 - 在错误消息中输出一个字段值
问题描述
我正在尝试在错误消息中输出字段值,执行如下操作:
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: Cannot read property 'parent' of undefined。访问错误消息中的字段值的正确方法是什么?
解决方案
我用来将值转换为错误消息的技巧是使用 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')),
}));
推荐阅读
- shell - 如果 shell 脚本在任何阶段失败,Jenkins 管道将退出
- database - 如何根据firebase更新flutter UI
- sql - 如何在 postgresql 函数中捕获异常?
- ios - 如何使用 SwiftUI 为包含在视图中的数字设置动画?
- r - 使用 tidyverse 的 R 扩展函数获取冒号分隔列的宽格式
- amazon-web-services - Lambda 访问 EC2 实例上的 Kibana 服务以及 S3
- c# - 为什么 HashSet 保留插入顺序?
- coq - 外延性公理:为什么它不是不合理的
- ios - 如何从带有导航控制器 iOS 13 的模态呈现的 ViewController 中全屏推送 ViewController?
- javascript - 如何在JS中将声明变量简化为数组