javascript - 使用正则表达式进行 formik 表单验证
问题描述
我正在对我的表单使用甲酸表单库。我需要验证我的文本框。这是我的验证文件
import * as Yup from "yup";
const POValidation = Yup.object().shape({
tax: Yup.number().typeError("Amount is invalid")
});
export { POValidation };
这是我的 texbox
<Form.Control
type="text"
size="sm"
placeholder=""
name="tax"
onChange={handleChange}
onBlur={handleBlur}
value={values.tax}
className={errors.tax && touched.tax && "input-error"}
/>
目前它只允许数字。但字母可以输入。我需要避免在这个 texbox 中输入字母。我是怎么做到的
解决方案
是的,有一种matches
方法可以检查正则表达式。
Yup.string().matches(/^[0-9]+$/, "Only number allowed")
该方法的第一个参数是正则表达式,第二个参数是正则表达式失败时抛出的错误消息。
推荐阅读
- angular - Phonegap NFC 在两个设备之间发送和读取数据
- python - 如何将一列拆分为多列,管道作为分隔符
- python - 使用列表推导,编写一个脚本,从一个列表到另一个列表中减去一个列表的元素
- python - 如何防止错误输入导致应用程序崩溃。Python、HTML 和 CSS
- c# - 断言该方法已使用 xUnit 调用
- python - 即使使用标头,get 请求也会返回 403 状态码
- javascript - 如何在 jQuery 表中添加下拉复选框?
- spring-test - 在 Spring Boot 中设置集成测试数据
- d - 为什么有些功能需要 GC?
- c++ - How can I forward declare an array inside a namespace in c++