0

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

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

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

4

1 回答 1

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
...

现有的验证工作正常。

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

于 2019-05-09T09:59:05.177 回答