Formik + Yup号码验证

时间:2019-05-08 19:32:07

标签: node.js reactjs formik yup

您好,我正在尝试使用Formik + Yup验证我的表单。我坚持验证日期的数字,但是在添加数字字段后触摸任何字段都会使应用崩溃。如何使用Yup正确验证数字的最小值和最大值?

查看我的代码和框:https://codesandbox.io/s/ly027lklq7

如果您注释掉全天日期字段,则该应用程序将正常运行。

1 个答案:

答案 0 :(得分:1)

在访问touched中的嵌套项目之前缺少对象验证是导致问题的原因。

例如:

...
props.errors.address && props.errors.address.line1 && props.touched.address.line1
...
...
props.errors.dob && props.errors.dob.day && props.touched.dob.day
...

应该是

...
props.errors.address && props.errors.address.line1 && props.touched.address && props.touched.address.line1
...
...
props.errors.dob && props.errors.dob.day && props.touched.dob && props.touched.dob.day
...

现有验证工作正常。

codesandbox中的固定代码:https://codesandbox.io/s/2omxr4jopp