2016-03-31 09:40:55 +08:00
---
2016-11-02 12:13:00 +08:00
order: 10
2016-09-01 11:48:38 +08:00
title:
2017-02-15 14:39:55 +08:00
zh-CN: 自定义校验
en-US: Customized Validation
2016-03-31 09:40:55 +08:00
---
2015-06-15 20:24:01 +08:00
2016-07-31 09:53:51 +08:00
## zh-CN
2017-02-15 14:39:55 +08:00
我们提供了 `validateStatus` `help` `hasFeedback` 等属性,你可以不需要使用 `Form.create` 和 `getFieldDecorator` ,自己定义校验的时机和内容。
2015-06-15 20:24:01 +08:00
2017-02-15 14:39:55 +08:00
1. `validateStatus` : 校验状态,可选 'success', 'warning', 'error', 'validating'。
2. `hasFeedback` :用于给输入框添加反馈图标。
3. `help` :设置校验文案。
2015-07-07 11:25:16 +08:00
2016-07-31 09:53:51 +08:00
## en-US
2017-02-15 14:39:55 +08:00
We provide properties like `validateStatus` `help` `hasFeedback` to customize your own validate status and message, without using `Form.create` and `getFieldDecorator` .
2016-07-31 09:53:51 +08:00
2017-02-15 14:39:55 +08:00
1. `validateStatus` : validate status of form components which could be 'success', 'warning', 'error', 'validating'.
2. `hasFeedback` : display feed icon of input control
3. `help` : display validate message.
2016-07-31 09:53:51 +08:00
2017-02-13 10:55:53 +08:00
````jsx
2018-11-28 15:00:03 +08:00
import {
2018-12-22 16:44:10 +08:00
Form, Input, DatePicker, TimePicker, Select, Cascader, InputNumber,
2018-11-28 15:00:03 +08:00
} from 'antd';
2018-06-27 15:55:04 +08:00
2015-10-29 08:41:51 +08:00
const FormItem = Form.Item;
2017-09-06 20:17:20 +08:00
const Option = Select.Option;
2015-06-15 20:24:01 +08:00
2017-03-15 11:25:58 +08:00
const formItemLayout = {
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 12 },
},
};
2015-10-25 11:35:03 +08:00
ReactDOM.render(
2017-01-05 16:57:41 +08:00
< Form >
2015-10-29 08:41:51 +08:00
< FormItem
2017-03-15 11:25:58 +08:00
{...formItemLayout}
2016-07-31 09:53:51 +08:00
label="Fail"
2015-10-29 08:41:51 +08:00
validateStatus="error"
2016-09-22 10:09:22 +08:00
help="Should be combination of numbers & alphabets"
2016-06-06 13:54:10 +08:00
>
2016-11-01 16:11:06 +08:00
< Input placeholder = "unavailable choice" id = "error" / >
2015-10-29 08:41:51 +08:00
< / FormItem >
2015-07-07 11:25:16 +08:00
2015-10-29 08:41:51 +08:00
< FormItem
2017-03-15 11:25:58 +08:00
{...formItemLayout}
2016-07-31 09:53:51 +08:00
label="Warning"
2016-06-06 13:54:10 +08:00
validateStatus="warning"
>
2016-11-01 16:11:06 +08:00
< Input placeholder = "Warning" id = "warning" / >
2015-10-29 08:41:51 +08:00
< / FormItem >
2015-10-25 11:35:03 +08:00
2015-10-29 08:41:51 +08:00
< FormItem
2017-03-15 11:25:58 +08:00
{...formItemLayout}
2016-07-31 09:53:51 +08:00
label="Validating"
2015-11-25 17:47:55 +08:00
hasFeedback
2015-10-29 08:41:51 +08:00
validateStatus="validating"
2016-07-31 09:53:51 +08:00
help="The information is being validated..."
2016-06-06 13:54:10 +08:00
>
2016-11-01 16:11:06 +08:00
< Input placeholder = "I'm the content is being validated" id = "validating" / >
2015-10-29 08:41:51 +08:00
< / FormItem >
2015-07-07 11:25:16 +08:00
2015-10-29 08:41:51 +08:00
< FormItem
2017-03-15 11:25:58 +08:00
{...formItemLayout}
2016-07-31 09:53:51 +08:00
label="Success"
2015-11-25 17:47:55 +08:00
hasFeedback
2016-06-06 13:54:10 +08:00
validateStatus="success"
>
2016-11-01 16:11:06 +08:00
< Input placeholder = "I'm the content" id = "success" / >
2015-10-29 08:41:51 +08:00
< / FormItem >
2015-10-25 11:35:03 +08:00
2015-10-29 08:41:51 +08:00
< FormItem
2017-03-15 11:25:58 +08:00
{...formItemLayout}
2016-07-31 09:53:51 +08:00
label="Warning"
2015-11-25 17:47:55 +08:00
hasFeedback
2016-06-06 13:54:10 +08:00
validateStatus="warning"
>
2016-11-01 16:11:06 +08:00
< Input placeholder = "Warning" id = "warning" / >
2015-10-29 08:41:51 +08:00
< / FormItem >
2015-07-07 11:25:16 +08:00
2015-10-29 08:41:51 +08:00
< FormItem
2017-03-15 11:25:58 +08:00
{...formItemLayout}
2016-07-31 09:53:51 +08:00
label="Fail"
2015-11-25 17:47:55 +08:00
hasFeedback
2015-10-29 08:41:51 +08:00
validateStatus="error"
2016-09-22 10:09:22 +08:00
help="Should be combination of numbers & alphabets"
2016-06-06 13:54:10 +08:00
>
2016-11-01 16:11:06 +08:00
< Input placeholder = "unavailable choice" id = "error" / >
2015-10-29 08:41:51 +08:00
< / FormItem >
2015-10-09 15:44:10 +08:00
2017-09-06 20:17:20 +08:00
< FormItem
{...formItemLayout}
label="Success"
hasFeedback
validateStatus="success"
>
< DatePicker style = {{ width: ' 100 % ' } } / >
< / FormItem >
< FormItem
{...formItemLayout}
label="Warning"
hasFeedback
validateStatus="warning"
>
< TimePicker style = {{ width: ' 100 % ' } } / >
< / FormItem >
< FormItem
{...formItemLayout}
label="Error"
hasFeedback
validateStatus="error"
>
< Select defaultValue = "1" >
< Option value = "1" > Option 1< / Option >
< Option value = "2" > Option 2< / Option >
< Option value = "3" > Option 3< / Option >
< / Select >
< / FormItem >
< FormItem
{...formItemLayout}
label="Validating"
hasFeedback
validateStatus="validating"
help="The information is being validated..."
>
< Cascader defaultValue = {['1']} options = {[]} / >
< / FormItem >
2015-10-29 08:41:51 +08:00
< FormItem
2016-07-31 09:53:51 +08:00
label="inline"
2017-09-06 20:17:20 +08:00
{...formItemLayout}
2018-12-22 16:44:10 +08:00
style={{ marginBottom: 0 }}
2016-06-06 13:54:10 +08:00
>
2018-12-22 16:44:10 +08:00
< FormItem
validateStatus="error"
help="Please select the correct date"
style={{ display: 'inline-block', width: 'calc(50% - 12px)' }}
>
< DatePicker / >
< / FormItem >
< span style = {{ display: ' inline-block ' , width: ' 24px ' , textAlign: ' center ' } } >
-
< / span >
< FormItem style = {{ display: ' inline-block ' , width: ' calc ( 50 % - 12px ) ' } } >
< DatePicker / >
< / FormItem >
2015-10-29 08:41:51 +08:00
< / FormItem >
2017-09-06 20:17:20 +08:00
< FormItem
{...formItemLayout}
label="Success"
hasFeedback
validateStatus="success"
>
< InputNumber style = {{ width: ' 100 % ' } } / >
< / FormItem >
2018-06-27 15:55:04 +08:00
< / Form > ,
2018-11-28 15:00:03 +08:00
mountNode
);
2015-06-15 20:24:01 +08:00
````