reactjs - 使用 Formik、Yup 和 React 进行异步验证

标签 reactjs formik yup

我想使用 formik 进行异步验证,并使用 yup 进行validationschema,但我找不到示例或演示。

最佳答案

const validationSchema = Yup.object().shape({
    username:
        Yup.string()
            .test('checkDuplUsername', 'same name exists', function (value) {
                return new Promise((resolve, reject) => {
                    kn.http({
                        url: `/v1/users/${value}`,
                        method: 'head',
                    }).then(() => {
                        // exists
                        resolve(false)
                    }).catch(() => {
                        // note exists
                        resolve(true)
                    })
                })
            })
})

是的,通过测试方法提供异步处理。
(kn是我的ajax promise 函数)
祝你有美好的一天。

关于reactjs - 使用 Formik、Yup 和 React 进行异步验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55811114/

相关文章:

reactjs - 如何将 cleave js 格式传递给 formik 字段

javascript - TypeError : schema[sync ? 'validateSync' : 'validate' ] 不是函数

javascript - 将整数列表发送到 REST API 会抛出 415(不支持的媒体类型)

javascript - 应该只有一个组件拥有状态吗?

javascript - 使用react-router获取服务器端数据

Javascript函数增量摊销问题

node.js - 如何让 formik 进行编译?

javascript - 是的,验证是字符串或字符串数​​组

reactjs - 如何在 typescript 中正确使用 Formik 的 useField 钩子(Hook)

reactjs - 是的。当 : "` NaN` (cast from the value `NaN` )"