react的ant design中的input组件怎么添加正则校验
时间: 2023-10-07 18:13:25 浏览: 57
要在Ant Design的Input组件中添加正则校验,可以使用`rules`属性来设置校验规则。下面是一个示例代码:
```jsx
import React, { useState } from "react";
import { Input, Form } from "antd";
function MyForm() {
const [form] = Form.useForm();
const [phoneError, setPhoneError] = useState(false);
const validatePhone = (_, value) => {
const reg = /^1[3456789]\d{9}$/;
if (!reg.test(value)) {
setPhoneError(true);
return Promise.reject("请输入正确的手机号");
} else {
setPhoneError(false);
return Promise.resolve();
}
};
return (
<Form form={form}>
<Form.Item
label="手机号"
name="phone"
validateStatus={phoneError ? "error" : ""}
help={phoneError ? "请输入正确的手机号" : ""}
rules={[
{
required: true,
validator: validatePhone
}
]}
>
<Input placeholder="请输入手机号" />
</Form.Item>
</Form>
);
}
export default MyForm;
```
在上面的代码中,我们使用了`Form`和`Form.Item`组件来包装`Input`组件,然后在`Form.Item`上设置`rules`属性来添加校验规则。其中`validator`属性指定了校验函数`validatePhone`,`required`属性指定了该字段是否必填。校验函数中使用正则表达式`/^1[3456789]\d{9}$/`来校验手机号码是否合法。如果校验不通过,则返回一个Promise.reject实例,并且设置`validateStatus`和`help`属性来显示错误信息。如果校验通过,则返回一个Promise.resolve实例。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)