尝试使用 Yup 验证模式验证 Formik 中的电话号码字段,但是当我使用 Yup.string().matches(/^[0-9]*$/g, 'This is not a number')
时它在每个更改事件中始终在有效和无效之间交替。
phone: Yup.string()
.trim()
.matches(/^[0-9]*$/g, 'This is not a number')
}),
输入域的类型是tel
. <Field type="tel" id="phone" name="phone" />
最佳答案
好吧,看来我本可以成为我的正则表达式,毕竟这导致了这种奇怪的行为。
- 原始正则表达式:
/^[0-9]*$/g
- 修改后的正则表达式:
/^[\d]*$/g
- FINAL regEx:
/^\d+$/
<-- 这解决了问题。
我的 regEx 知识有限,所以如果有人能告诉我为什么前两个 regEx 代码导致验证的交替状态,我会很高兴。
关于javascript - Yup.string().matches() 在您输入时交替显示有效和无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57360045/