antdesign的validateFields如何使用
时间: 2023-07-20 21:30:55 浏览: 126
antd的`Form`组件提供了`validateFields`方法用于表单校验,具体使用如下:
1. 引入`Form`组件
```jsx
import { Form } from 'antd';
```
2. 定义表单并绑定校验规则
```jsx
const DemoForm = () => {
const [form] = Form.useForm();
const onFinish = (values) => {
console.log('Received values of form: ', values);
};
const validator = (rule, value) => {
if (value && value.length < 4) {
return Promise.reject('长度不能少于4');
}
return Promise.resolve();
};
return (
<Form form={form} name="validate_other" onFinish={onFinish}>
<Form.Item name="username" label="用户名" rules={[{ required: true }]}>
<Input placeholder="请输入用户名" />
</Form.Item>
<Form.Item name="password" label="密码" rules={[{ required: true }]}>
<Input.Password placeholder="请输入密码" />
</Form.Item>
<Form.Item name="nickname" label="昵称" rules={[{ validator }]}>
<Input placeholder="请输入昵称" />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
提交
</Button>
</Form.Item>
</Form>
);
};
```
3. 在需要校验的地方调用`validateFields`方法
```jsx
form.validateFields().then((values) => {
console.log('校验通过,获取到的值为: ', values);
}).catch((err) => {
console.log('校验失败,错误信息为: ', err);
});
```
注意,`validateFields`方法返回的是一个Promise对象,如果校验通过则会resolve并返回表单的值,否则会reject并返回错误信息。
阅读全文