javascript - 访问“最终”模式并提取它的规则
问题描述
假设我有以下架构(Yup 文档中的示例之一):
let schema = object({
isSpecial: boolean(),
isBig: boolean(),
count: number().when(['isBig', 'isSpecial'], {
is: true, // alternatively: (isBig, isSpecial) => isBig && isSpecial
then: yup.number().min(5),
otherwise: yup.number().min(0),
}),
});
const result = schema.validateSync({
isBig: true,
isSpecial: true,
count: 10,
});
的count
最小值取决于 的值isBig
。该值是在运行时调用 validate() 时确定的。有没有办法我可以以某种方式访问“最终”模式并以编程方式检查 Yup 决定强制执行的内容?
就像是:
const { result, finalSchema } = schema.validateSync({
isBig: true,
isSpecial: true,
count: 10,
});
console.log(finalSchema.count.min) // 5
解决方案
推荐阅读
- linux - 尝试在 Ubuntu 18.04 上为 AWS EC2 安装 PHP 时出错
- python - 无法使用 Python 3.7 和 Anaconda 创建 VirtualEnv - 没有这样的文件或目录:site.py
- c# - 静态方法列表
未找到属性 - node.js - 如何在 Shipit.js 上设置密码
- razor-pages - VS 2017 .NET Core 2.2 Razor Pages Project 失去了 Scaffold 的能力
- javascript - getParameter 使用 Fetch API 返回 null
- python - 如何限制 Pygame 角色的移动?
- javascript - parseInt() 和 Number.isInteger() 在以下 Javascript 数组场景中的功效差异?
- list - 如果全部匹配,如何比较列表的值并返回 true?
- linux - 当 grep 返回结果时重新启动程序