首页 > 解决方案 > 如何在 Yup 验证中获取以前的 val

问题描述

我想验证项目列表(字符串)并确保在用户尝试修改项目时没有重复(如果有,则显示错误消息)。但是,如果用户尝试修改它并最终保持相同的值,我们不会显示错误消息。在验证中,对于数组中的每个字段,我都有类似下面的内容。在下面的测试函数中,我只能获取当前修改的值作为参数 - 值,而不是以前的值,所以我不能用以前的值进行验证。我想知道是否有办法为当前修改的值获取先前的值(即任何更改之前的值)?如果列表中只有一个值,则很容易,但如果有多个,则很难跟踪。

Yup.object().shape({
           rows: Yup.array(
                Yup.lazy(() => (
                     myObject.test('field', 'error message', function (value) { ... } )

                   )
                )
            )
        })

标签: yup

解决方案


推荐阅读