yup - 如何在 Yup 验证中获取以前的 val
问题描述
我想验证项目列表(字符串)并确保在用户尝试修改项目时没有重复(如果有,则显示错误消息)。但是,如果用户尝试修改它并最终保持相同的值,我们不会显示错误消息。在验证中,对于数组中的每个字段,我都有类似下面的内容。在下面的测试函数中,我只能获取当前修改的值作为参数 - 值,而不是以前的值,所以我不能用以前的值进行验证。我想知道是否有办法为当前修改的值获取先前的值(即任何更改之前的值)?如果列表中只有一个值,则很容易,但如果有多个,则很难跟踪。
Yup.object().shape({
rows: Yup.array(
Yup.lazy(() => (
myObject.test('field', 'error message', function (value) { ... } )
)
)
)
})
解决方案
推荐阅读
- python - 在 pandas 中,将外部 json 与嵌套 json 结合起来并创建新的数据框
- python - 直接从 CLI 调用 python 项目中的函数
- appium - Appium 检查器在 Android 上重置应用程序的权限
- javascript - 如何使用函数和参数值函数动态地将 onClick 添加到标签
- java - 给定一个 ASTNode 如何使用 Eclipse JDT 找到方法体?
- git - git push 浅层更新不允许
- powershell - 使用任务计划程序脚本指定位置
- arrays - 如何在C中将数组打印为矩阵
- javascript - 使用 React Native 上下文更新搜索栏中的列表
- python - 在 Python 中将 12 位灰度图像转换为每通道 8 位彩色图像