formik - 是的,有两个相关领域的验证

标签 formik yup

我在 reactjs 中使用 formik 进行表单管理,我有一个关于验证的问题。

我有两个字段,一个是选择国家的选择控件,另一个是邮政编码。

在 country 数组中,我们有正则表达式来验证邮政编码,其想法是使用当前所选国家/地区的正则表达式验证输入的邮政编码,有人可以提供有关如何执行此操作的线索。

最佳答案

需要一个数值的字段示例,该数值不能大于两个其他字段值的乘积

const validationSchema = Yup.object().shape({
    num1: Yup.number().positive().required('This field is required.'),
    num2: Yup.number().positive().required('This field is required.'),
    num3: Yup.number().positive().required('This field is required.').when(['num1', 'num2'], (num1, num2, schema) => {
        return num1 > 0 && num2 > 0 ? schema.max(num1 / num2) : schema.max(0);
    })
});

关于formik - 是的,有两个相关领域的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49522347/

相关文章:

javascript - 尽管有条件渲染,React 表单可以提交两次

Formik,Yup-如何检查十进制数

javascript - 是的,基于父对象模式的条件验证

reactjs - 如何向 yup.validationSchema 添加和删除验证字段

reactjs - 如何在 Yup 异步验证中设置动态错误消息?

javascript - 如何更改 Yup/Formik 中的默认错误文本?

javascript - 使用 Yup 访问必填字段

reactjs - 如何在不提交的情况下访问formik字段的当前值?

node.js - 如何验证yup中的枚举

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