Files
ant-design/components/form/index.html
T
2017-03-11 12:51:12 +08:00

1464 lines
403 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="An enterprise-class UI design language and React-based implementation">
<meta name="description" content="A set of high-quality React components">
<meta name="description" content="One of best React UI library for enterprise background">
<title>Ant Design - A UI Design Language</title>
<script>
(function() {
function isLocalStorageNameSupported() {
var testKey = 'test';
var storage = window.localStorage;
try {
storage.setItem(testKey, '1');
storage.removeItem(testKey);
return true;
} catch (error) {
return false;
}
}
// 优先级提高到所有静态资源的前面,语言不对,加载其他静态资源没意义
var pathname = location.pathname;
function isZhCN(pathname) {
return /-cn\/?$/.test(pathname);
}
function getLocalizedPathname(path, zhCN) {
var pathname = path.startsWith('/') ? path : '/' + path;
if (!zhCN) { // to enUS
return /\/?index-cn/.test(pathname) ? '/' : pathname.replace('-cn', '');
} else if (pathname === '/') {
return '/index-cn';
} else if (pathname.endsWith('/')) {
return pathname.replace(/\/$/, '-cn/');
}
return pathname + '-cn';
}
// 兼容旧的 URL `?locale=...`
var queryString = location.search;
if (queryString) {
var isZhCNConfig = queryString.indexOf('zh-CN') > -1;
if (isZhCNConfig && !isZhCN(pathname)) {
location.pathname = getLocalizedPathname(pathname, isZhCNConfig)
}
}
// 首页无视链接里面的语言设置 https://github.com/ant-design/ant-design/issues/4552
if (isLocalStorageNameSupported() && (pathname === '/' || pathname === '/index-cn')) {
var lang = (window.localStorage && localStorage.getItem('locale')) || (navigator.language.toLowerCase() === 'zh-cn' ? 'zh-CN' : 'en-US');
// safari is 'zh-cn', while other browser is 'zh-CN';
if ((lang === 'zh-CN') !== isZhCN(pathname)) {
location.pathname = getLocalizedPathname(pathname, lang === 'zh-CN');
}
}
document.documentElement.className += isZhCN(pathname) ? 'zh-cn' : 'en-us';
})()
</script>
<link rel="icon" href="https://t.alipayobjects.com/images/T1QUBfXo4fXXXXXXXX.png" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.cnpmjs.org/css?family=Lato:400,700|Raleway"/>
<link rel="stylesheet" type="text/css" href="/index.css"/>
<style id="nprogress-style">
#nprogress { display: none }
</style>
<!--[if lte IE 10]>
<script
src="https://as.alipayobjects.com/g/component/??console-polyfill/0.2.2/index.js,media-match/2.0.2/media.match.min.js"></script>
<![endif]-->
<script>
if (!window.Intl) {
document.writeln('<script src="https://as.alipayobjects.com/g/component/intl/1.0.1/??Intl.js,locale-data/jsonp/en.js,locale-data/jsonp/zh.js">' + '<' + '/script>');
}
if (!window.Promise) {
document.writeln('<script src="https://as.alipayobjects.com/g/component/es6-promise/3.2.2/es6-promise.min.js"' + '>' + '<' + '/' + 'script>');
}
// Enable Google Analytics
if (!location.port) {
/* eslint-disable */
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-72788897-1', 'auto');
ga('send', 'pageview');
/* eslint-enable */
}
</script>
</head>
<body>
<div id="react-content">
<div class="page-wrapper" data-reactroot="" data-reactid="1" data-react-checksum="704642449"><header id="header" class="clearfix" data-reactid="2"><div class="ant-row" data-reactid="3"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-5 ant-col-lg-4" data-reactid="4"><a id="logo" href="/" data-reactid="5"><img alt="logo" src="https://t.alipayobjects.com/images/rmsweb/T1B9hfXcdvXXXXXXXX.svg" data-reactid="6"/><span data-reactid="7">Ant Design</span></a></div><div class="ant-col-xs-0 ant-col-sm-0 ant-col-md-19 ant-col-lg-20" data-reactid="8"><div id="search-box" data-reactid="9"><div class="ant-select ant-select-combobox ant-select-enabled" data-reactid="10"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" data-reactid="11"><div class="ant-select-selection__rendered" data-reactid="12"><div style="display:block;user-select:none;-webkit-user-select:none;" unselectable="unselectable" class="ant-select-selection__placeholder" data-reactid="13">Search Components...</div><ul data-reactid="14"><li class="ant-select-search ant-select-search--inline" data-reactid="15"><div class="ant-select-search__field__wrap" data-reactid="16"><input value="" class="ant-select-search__field" data-reactid="17"/><span class="ant-select-search__field__mirror" data-reactid="18"><!-- react-text: 19 --><!-- /react-text --><!-- react-text: 20 --> <!-- /react-text --></span></div></li></ul></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="21"><b data-reactid="22"></b></span></div></div></div><button type="button" class="ant-btn ant-btn-ghost ant-btn-sm lang" data-reactid="23"><span data-reactid="24">中文</span></button><div class="ant-select-sm version ant-select ant-select-enabled" data-reactid="25"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0" data-reactid="26"><div class="ant-select-selection__rendered" data-reactid="27"><div class="ant-select-selection-selected-value" title="2.8.1" style="display:block;opacity:1;" data-reactid="28">2.8.1</div></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="29"><b data-reactid="30"></b></span></div></div><ul class="ant-menu ant-menu-horizontal ant-menu-light ant-menu-root" role="menu" aria-activedescendant="" id="nav" tabindex="0" data-reactid="31"><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="32"><a href="/" data-reactid="33"><span data-reactid="34">Home</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="35"><a href="/docs/spec/introduce" data-reactid="36"><span data-reactid="37">Specification</span></a></li><li class="ant-menu-item-selected ant-menu-item" role="menuitem" aria-selected="true" data-reactid="38"><a href="/docs/react/introduce" data-reactid="39"><span data-reactid="40">Components</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="41"><a href="/docs/pattern/navigation" data-reactid="42"><span data-reactid="43">Pattern</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="44"><a href="/docs/resource/download" data-reactid="45"><span data-reactid="46">Resource</span></a></li></ul></div></div></header><div class="main-wrapper" data-reactid="47"><div class="ant-row" data-reactid="48"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-6 ant-col-lg-4" data-reactid="49"><ul class="ant-menu ant-menu-inline aside-container ant-menu-light ant-menu-root" role="menu" aria-activedescendant="" tabindex="0" data-reactid="50"><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="51"><a href="/docs/react/introduce" data-reactid="52">Ant Design of React</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="53"><a href="/docs/react/getting-started" data-reactid="54">Getting Started</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="55"><a href="/docs/react/practical-projects" data-reactid="56">Real project with dva</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="57"><a href="/docs/react/use-with-create-react-app" data-reactid="58">Use in create-react-app</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="59"><a href="/docs/react/customize-theme" data-reactid="60">Customize Theme</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="61"><a href="/changelog" data-reactid="62">Change Log</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="63"><a href="/docs/react/recommendation" data-reactid="64">Third-Party Libraries</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="65"><a href="https://github.com/websemantics/awesome-ant-design" target="_blank" rel="noopener noreferrer" class="menu-item-link-outside" data-reactid="66"><!-- react-text: 67 -->Awesome Ant Design<!-- /react-text --><!-- react-text: 68 --> <!-- /react-text --><i class="anticon anticon-export" data-reactid="69"></i></a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="70"><a href="//github.com/ant-design/intl-example" target="_blank" rel="noopener noreferrer" class="menu-item-link-outside" data-reactid="71"><!-- react-text: 72 -->i18n Solution<!-- /react-text --><!-- react-text: 73 --> <!-- /react-text --><i class="anticon anticon-export" data-reactid="74"></i></a></li><li class="ant-menu-submenu-inline ant-menu-submenu-open ant-menu-submenu-selected ant-menu-submenu" data-reactid="75"><div style="padding-left:24px;" class="ant-menu-submenu-title" aria-expanded="true" aria-owns="Components$Menu" aria-haspopup="true" data-reactid="76"><h4 data-reactid="77">Components</h4></div><ul class="ant-menu ant-menu-inline ant-menu-sub" role="menu" aria-activedescendant="" id="Components$Menu" data-reactid="78"><li class=" ant-menu-item-group" data-reactid="79"><div class="ant-menu-item-group-title" data-reactid="80">General</div><ul class="ant-menu-item-group-list" data-reactid="81"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="82"><a href="/components/button/" data-reactid="83"><span data-reactid="84">Button</span><span class="chinese" data-reactid="85"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="86"><a href="/components/icon/" data-reactid="87"><span data-reactid="88">Icon</span><span class="chinese" data-reactid="89"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="90"><div class="ant-menu-item-group-title" data-reactid="91">Layout</div><ul class="ant-menu-item-group-list" data-reactid="92"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="93"><a href="/components/grid/" data-reactid="94"><span data-reactid="95">Grid</span><span class="chinese" data-reactid="96"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="97"><a href="/components/layout/" data-reactid="98"><span data-reactid="99">Layout</span><span class="chinese" data-reactid="100"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="101"><div class="ant-menu-item-group-title" data-reactid="102">Navigation</div><ul class="ant-menu-item-group-list" data-reactid="103"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="104"><a href="/components/affix/" data-reactid="105"><span data-reactid="106">Affix</span><span class="chinese" data-reactid="107"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="108"><a href="/components/breadcrumb/" data-reactid="109"><span data-reactid="110">Breadcrumb</span><span class="chinese" data-reactid="111"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="112"><a href="/components/back-top/" data-reactid="113"><span data-reactid="114">BackTop</span><span class="chinese" data-reactid="115"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="116"><a href="/components/dropdown/" data-reactid="117"><span data-reactid="118">Dropdown</span><span class="chinese" data-reactid="119"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="120"><a href="/components/menu/" data-reactid="121"><span data-reactid="122">Menu</span><span class="chinese" data-reactid="123"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="124"><a href="/components/pagination/" data-reactid="125"><span data-reactid="126">Pagination</span><span class="chinese" data-reactid="127"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="128"><a href="/components/steps/" data-reactid="129"><span data-reactid="130">Steps</span><span class="chinese" data-reactid="131"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="132"><a href="/components/tabs/" data-reactid="133"><span data-reactid="134">Tabs</span><span class="chinese" data-reactid="135"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="136"><div class="ant-menu-item-group-title" data-reactid="137">Data Entry</div><ul class="ant-menu-item-group-list" data-reactid="138"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="139"><a href="/components/auto-complete/" data-reactid="140"><span data-reactid="141">AutoComplete</span><span class="chinese" data-reactid="142"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="143"><a href="/components/cascader/" data-reactid="144"><span data-reactid="145">Cascader</span><span class="chinese" data-reactid="146"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="147"><a href="/components/checkbox/" data-reactid="148"><span data-reactid="149">Checkbox</span><span class="chinese" data-reactid="150"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="151"><a href="/components/date-picker/" data-reactid="152"><span data-reactid="153">DatePicker</span><span class="chinese" data-reactid="154"></span></a></li><li style="padding-left:48px;" class="ant-menu-item-selected ant-menu-item" role="menuitem" aria-selected="true" data-reactid="155"><a href="/components/form/" data-reactid="156"><span data-reactid="157">Form</span><span class="chinese" data-reactid="158"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="159"><a href="/components/input/" data-reactid="160"><span data-reactid="161">Input</span><span class="chinese" data-reactid="162"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="163"><a href="/components/input-number/" data-reactid="164"><span data-reactid="165">InputNumber</span><span class="chinese" data-reactid="166"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="167"><a href="/components/mention/" data-reactid="168"><span data-reactid="169">Mention</span><span class="chinese" data-reactid="170"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="171"><a href="/components/rate/" data-reactid="172"><span data-reactid="173">Rate</span><span class="chinese" data-reactid="174"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="175"><a href="/components/radio/" data-reactid="176"><span data-reactid="177">Radio</span><span class="chinese" data-reactid="178"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="179"><a href="/components/select/" data-reactid="180"><span data-reactid="181">Select</span><span class="chinese" data-reactid="182"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="183"><a href="/components/slider/" data-reactid="184"><span data-reactid="185">Slider</span><span class="chinese" data-reactid="186"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="187"><a href="/components/switch/" data-reactid="188"><span data-reactid="189">Switch</span><span class="chinese" data-reactid="190"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="191"><a href="/components/tree-select/" data-reactid="192"><span data-reactid="193">TreeSelect</span><span class="chinese" data-reactid="194"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="195"><a href="/components/time-picker/" data-reactid="196"><span data-reactid="197">TimePicker</span><span class="chinese" data-reactid="198"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="199"><a href="/components/transfer/" data-reactid="200"><span data-reactid="201">Transfer</span><span class="chinese" data-reactid="202"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="203"><a href="/components/upload/" data-reactid="204"><span data-reactid="205">Upload</span><span class="chinese" data-reactid="206"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="207"><div class="ant-menu-item-group-title" data-reactid="208">Data Display</div><ul class="ant-menu-item-group-list" data-reactid="209"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="210"><a href="/components/badge/" data-reactid="211"><span data-reactid="212">Badge</span><span class="chinese" data-reactid="213"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="214"><a href="/components/calendar/" data-reactid="215"><span data-reactid="216">Calendar</span><span class="chinese" data-reactid="217"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="218"><a href="/components/card/" data-reactid="219"><span data-reactid="220">Card</span><span class="chinese" data-reactid="221"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="222"><a href="/components/carousel/" data-reactid="223"><span data-reactid="224">Carousel</span><span class="chinese" data-reactid="225"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="226"><a href="/components/collapse/" data-reactid="227"><span data-reactid="228">Collapse</span><span class="chinese" data-reactid="229"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="230"><a href="/components/popover/" data-reactid="231"><span data-reactid="232">Popover</span><span class="chinese" data-reactid="233"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="234"><a href="/components/tooltip/" data-reactid="235"><span data-reactid="236">Tooltip</span><span class="chinese" data-reactid="237"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="238"><a href="/components/table/" data-reactid="239"><span data-reactid="240">Table</span><span class="chinese" data-reactid="241"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="242"><a href="/components/tag/" data-reactid="243"><span data-reactid="244">Tag</span><span class="chinese" data-reactid="245"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="246"><a href="/components/timeline/" data-reactid="247"><span data-reactid="248">Timeline</span><span class="chinese" data-reactid="249"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="250"><a href="/components/tree/" data-reactid="251"><span data-reactid="252">Tree</span><span class="chinese" data-reactid="253"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="254"><div class="ant-menu-item-group-title" data-reactid="255">Feedback</div><ul class="ant-menu-item-group-list" data-reactid="256"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="257"><a href="/components/alert/" data-reactid="258"><span data-reactid="259">Alert</span><span class="chinese" data-reactid="260"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="261"><a href="/components/modal/" data-reactid="262"><span data-reactid="263">Modal</span><span class="chinese" data-reactid="264"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="265"><a href="/components/message/" data-reactid="266"><span data-reactid="267">Message</span><span class="chinese" data-reactid="268"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="269"><a href="/components/notification/" data-reactid="270"><span data-reactid="271">Notification</span><span class="chinese" data-reactid="272"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="273"><a href="/components/progress/" data-reactid="274"><span data-reactid="275">Progress</span><span class="chinese" data-reactid="276"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="277"><a href="/components/popconfirm/" data-reactid="278"><span data-reactid="279">Popconfirm</span><span class="chinese" data-reactid="280"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="281"><a href="/components/spin/" data-reactid="282"><span data-reactid="283">Spin</span><span class="chinese" data-reactid="284"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="285"><div class="ant-menu-item-group-title" data-reactid="286">Other</div><ul class="ant-menu-item-group-list" data-reactid="287"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="288"><a href="/components/anchor/" data-reactid="289"><span data-reactid="290">Anchor</span><span class="chinese" data-reactid="291"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="292"><a href="/components/locale-provider/" data-reactid="293"><span data-reactid="294">LocaleProvider</span><span class="chinese" data-reactid="295"></span></a></li></ul></li></ul></li></ul></div><div class="main-container ant-col-xs-24 ant-col-sm-24 ant-col-md-18 ant-col-lg-20" data-reactid="296"><article data-reactid="297"><div class="toc-affix" data-reactid="298"><div class="" data-reactid="299"><ul class="toc demos-anchor" data-reactid="300"><li title="Horizontal Login Form" data-reactid="301"><a href="#components-form-demo-horizontal-login" data-reactid="302">Horizontal Login Form</a></li><li title="Login Form" data-reactid="303"><a href="#components-form-demo-normal-login" data-reactid="304">Login Form</a></li><li title="Registration" data-reactid="305"><a href="#components-form-demo-register" data-reactid="306">Registration</a></li><li title="Advanced search" data-reactid="307"><a href="#components-form-demo-advanced-search" data-reactid="308">Advanced search</a></li><li title="Form in Modal to Create" data-reactid="309"><a href="#components-form-demo-form-in-modal" data-reactid="310">Form in Modal to Create</a></li><li title="Dynamic Form Item" data-reactid="311"><a href="#components-form-demo-dynamic-form-item" data-reactid="312">Dynamic Form Item</a></li><li title="Time-related Controls" data-reactid="313"><a href="#components-form-demo-time-related-controls" data-reactid="314">Time-related Controls</a></li><li title="Customized Form Controls" data-reactid="315"><a href="#components-form-demo-customized-form-controls" data-reactid="316">Customized Form Controls</a></li><li title="Store Form Data into Upper Component" data-reactid="317"><a href="#components-form-demo-global-state" data-reactid="318">Store Form Data into Upper Component</a></li><li title="Handle Form Data Manually" data-reactid="319"><a href="#components-form-demo-without-form-create" data-reactid="320">Handle Form Data Manually</a></li><li title="Customized Validation" data-reactid="321"><a href="#components-form-demo-validate-static" data-reactid="322">Customized Validation</a></li><li title="Other Form Controls" data-reactid="323"><a href="#components-form-demo-validate-other" data-reactid="324">Other Form Controls</a></li><li title="Coordinated Controls" data-reactid="325"><a href="#components-form-demo-coordinated" data-reactid="326">Coordinated Controls</a></li><li title="Form Layout" data-reactid="327"><a href="#components-form-demo-layout" data-reactid="328">Form Layout</a></li></ul></div></div><section class="markdown" data-reactid="329"><h1 data-reactid="330"><!-- react-text: 331 -->Form<!-- /react-text --><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/index.en-US.md" data-reactid="332"><i class="anticon anticon-edit" data-reactid="333"></i></a></h1><section class="markdown" data-reactid="334"><p data-reactid="335"><!-- react-text: 336 -->Form is used to collect, validate, and submit the user input, usually contains various form items including checkbox, radio, input, select, and etc.<!-- /react-text --></p><h2 id="Form" data-reactid="337"><span data-reactid="338"><!-- react-text: 339 -->Form<!-- /react-text --></span><a href="#Form" class="anchor" data-reactid="340">#</a></h2><p data-reactid="341"><!-- react-text: 342 -->You can align the controls of a <!-- /react-text --><code data-reactid="343"><!-- react-text: 344 -->form<!-- /react-text --></code><!-- react-text: 345 --> using one of the following attributes<!-- /react-text --></p><ul data-reactid="346"><li data-reactid="347"><p data-reactid="348"><code data-reactid="349"><!-- react-text: 350 -->horizontal<!-- /react-text --></code><!-- react-text: 351 -->to horizontally align the <!-- /react-text --><code data-reactid="352"><!-- react-text: 353 -->label<!-- /react-text --></code><!-- react-text: 354 -->s and controls of the fields. (Default)<!-- /react-text --></p></li><li data-reactid="355"><p data-reactid="356"><code data-reactid="357"><!-- react-text: 358 -->vertical<!-- /react-text --></code><!-- react-text: 359 -->to vertically align the <!-- /react-text --><code data-reactid="360"><!-- react-text: 361 -->label<!-- /react-text --></code><!-- react-text: 362 -->s and controls of the fields.<!-- /react-text --></p></li><li data-reactid="363"><p data-reactid="364"><code data-reactid="365"><!-- react-text: 366 -->inline<!-- /react-text --></code><!-- react-text: 367 -->to render form fields in one line.<!-- /react-text --></p></li></ul><h2 id="Form-fields" data-reactid="368"><span data-reactid="369"><!-- react-text: 370 -->Form fields<!-- /react-text --></span><a href="#Form-fields" class="anchor" data-reactid="371">#</a></h2><p data-reactid="372"><!-- react-text: 373 -->A form consists of one or more form fields whose type includes input, textarea, checkbox, radio, select, tag, and more.
A form field is defined using <!-- /react-text --><code data-reactid="374"><!-- react-text: 375 -->&lt;Form.Item /&gt;<!-- /react-text --></code><!-- react-text: 376 -->.<!-- /react-text --></p><pre class="language-jsx" data-reactid="377"><code data-reactid="378"><span class="token operator">&lt;</span>Form<span class="token punctuation">.</span>Item <span class="token punctuation">{</span><span class="token operator">...</span>props<span class="token punctuation">}</span><span class="token operator">></span>
<span class="token punctuation">{</span>children<span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form.Item</span><span class="token punctuation">></span></span></code></pre><blockquote data-reactid="379"><p data-reactid="380"><!-- react-text: 381 -->PSBy default, large size controls are used within a form.<!-- /react-text --></p></blockquote></section><h2 data-reactid="382"><span data-reactid="383">Examples</span><i class="anticon anticon-appstore code-box-expand-trigger" title="展开全部代码" data-reactid="384"></i></h2></section><div class="ant-row" style="margin-left:-8px;margin-right:-8px;" data-reactid="385"><div style="padding-left:8px;padding-right:8px;" class="ant-col-24 code-boxes-col-1-1" data-reactid="386"><section class="code-box" id="components-form-demo-horizontal-login" data-reactid="387"><section class="code-box-demo" data-reactid="388"><form class="ant-form ant-form-inline" data-reactid="389"><div class="ant-row ant-form-item" data-reactid="390"><div class="ant-form-item-control-wrapper" data-reactid="391"><div class="ant-form-item-control " data-reactid="392"><span class="ant-input-preSuffix-wrapper" data-reactid="393"><span class="ant-input-prefix" data-reactid="394"><i style="font-size:13px;" class="anticon anticon-user" data-reactid="395"></i></span><input type="text" placeholder="Username" value="" id="userName" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="396"/></span></div></div></div><div class="ant-row ant-form-item" data-reactid="397"><div class="ant-form-item-control-wrapper" data-reactid="398"><div class="ant-form-item-control " data-reactid="399"><span class="ant-input-preSuffix-wrapper" data-reactid="400"><span class="ant-input-prefix" data-reactid="401"><i style="font-size:13px;" class="anticon anticon-lock" data-reactid="402"></i></span><input type="password" placeholder="Password" value="" id="password" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="403"/></span></div></div></div><div class="ant-row ant-form-item" data-reactid="404"><div class="ant-form-item-control-wrapper" data-reactid="405"><div class="ant-form-item-control " data-reactid="406"><button type="submit" class="ant-btn ant-btn-primary ant-btn-lg" data-reactid="407"><span data-reactid="408">Log in</span></button></div></div></div></form></section><section class="code-box-meta markdown" data-reactid="409"><div class="code-box-title" data-reactid="410"><a href="#components-form-demo-horizontal-login" data-reactid="411">Horizontal Login Form</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/horizontal-login.md" data-reactid="412"><i class="anticon anticon-edit" data-reactid="413"></i></a></div><div data-reactid="414"><p data-reactid="415"><!-- react-text: 416 -->Horizontal login form is often used in navigation bar.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="417"></i></section><section class="highlight-wrapper" data-reactid="418"><div class="highlight" data-reactid="419"><i class="anticon anticon-copy code-box-code-copy" data-reactid="420"></i><pre class="language-jsx" data-reactid="421"><code data-reactid="422"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Icon<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Button <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">function</span> <span class="token function">hasErrors</span><span class="token punctuation">(</span>fieldsError<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> Object<span class="token punctuation">.</span><span class="token function">keys</span><span class="token punctuation">(</span>fieldsError<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">some</span><span class="token punctuation">(</span>field <span class="token operator">=</span><span class="token operator">></span> fieldsError<span class="token punctuation">[</span>field<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">HorizontalLoginForm</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
<span class="token function">componentDidMount</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment" spellcheck="true">// To disabled submit button at the beginning.</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleSubmit <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator<span class="token punctuation">,</span> getFieldsError<span class="token punctuation">,</span> getFieldError<span class="token punctuation">,</span> isFieldTouched <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token comment" spellcheck="true">// Only show error after a field is touched.</span>
<span class="token keyword">const</span> userNameError <span class="token operator">=</span> <span class="token function">isFieldTouched</span><span class="token punctuation">(</span><span class="token string">'userName'</span><span class="token punctuation">)</span> <span class="token operator">&amp;&amp;</span> <span class="token function">getFieldError</span><span class="token punctuation">(</span><span class="token string">'userName'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> passwordError <span class="token operator">=</span> <span class="token function">isFieldTouched</span><span class="token punctuation">(</span><span class="token string">'password'</span><span class="token punctuation">)</span> <span class="token operator">&amp;&amp;</span> <span class="token function">getFieldError</span><span class="token punctuation">(</span><span class="token string">'password'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">layout</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>inline<span class="token punctuation">"</span></span> <span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSubmit<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">validateStatus</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>userNameError <span class="token operator">?</span> <span class="token string">'error'</span> <span class="token punctuation">:</span> <span class="token string">''</span><span class="token punctuation">}</span></span>
<span class="token attr-name">help</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>userNameError <span class="token operator">||</span> <span class="token string">''</span><span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'userName'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your username!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">prefix</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token operator">&lt;</span>Icon type<span class="token operator">=</span><span class="token string">"user"</span> style<span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> fontSize<span class="token punctuation">:</span> <span class="token number">13</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span><span class="token punctuation">}</span> placeholder<span class="token operator">=</span><span class="token string">"Username"</span> <span class="token operator">/</span><span class="token operator">></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">validateStatus</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>passwordError <span class="token operator">?</span> <span class="token string">'error'</span> <span class="token punctuation">:</span> <span class="token string">''</span><span class="token punctuation">}</span></span>
<span class="token attr-name">help</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>passwordError <span class="token operator">||</span> <span class="token string">''</span><span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'password'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your Password!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">prefix</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token operator">&lt;</span>Icon type<span class="token operator">=</span><span class="token string">"lock"</span> style<span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> fontSize<span class="token punctuation">:</span> <span class="token number">13</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span><span class="token punctuation">}</span> type<span class="token operator">=</span><span class="token string">"password"</span> placeholder<span class="token operator">=</span><span class="token string">"Password"</span> <span class="token operator">/</span><span class="token operator">></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span>
<span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span>
<span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span>
<span class="token attr-name">disabled</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token function">hasErrors</span><span class="token punctuation">(</span><span class="token function">getFieldsError</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
Log <span class="token keyword">in</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedHorizontalLoginForm <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>HorizontalLoginForm<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedHorizontalLoginForm</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-normal-login" data-reactid="423"><section class="code-box-demo" data-reactid="424"><form class="ant-form ant-form-horizontal login-form" data-reactid="425"><div class="ant-row ant-form-item" data-reactid="426"><div class="ant-form-item-control-wrapper" data-reactid="427"><div class="ant-form-item-control " data-reactid="428"><span class="ant-input-preSuffix-wrapper" data-reactid="429"><span class="ant-input-prefix" data-reactid="430"><i style="font-size:13px;" class="anticon anticon-user" data-reactid="431"></i></span><input type="text" placeholder="Username" value="" id="userName" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="432"/></span></div></div></div><div class="ant-row ant-form-item" data-reactid="433"><div class="ant-form-item-control-wrapper" data-reactid="434"><div class="ant-form-item-control " data-reactid="435"><span class="ant-input-preSuffix-wrapper" data-reactid="436"><span class="ant-input-prefix" data-reactid="437"><i style="font-size:13px;" class="anticon anticon-lock" data-reactid="438"></i></span><input type="password" placeholder="Password" value="" id="password" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="439"/></span></div></div></div><div class="ant-row ant-form-item" data-reactid="440"><div class="ant-form-item-control-wrapper" data-reactid="441"><div class="ant-form-item-control has-success" data-reactid="442"><label class="ant-checkbox-wrapper" data-reactid="443"><span class="ant-checkbox ant-checkbox-checked" data-reactid="444"><input type="checkbox" class="ant-checkbox-input" checked="" data-reactid="445"/><span class="ant-checkbox-inner" data-reactid="446"></span></span><span data-reactid="447">Remember me</span></label><a class="login-form-forgot" data-reactid="448">Forgot password</a><button type="submit" class="ant-btn ant-btn-primary ant-btn-lg login-form-button" data-reactid="449"><span data-reactid="450">Log in</span></button><!-- react-text: 451 -->Or <!-- /react-text --><a data-reactid="452">register now!</a></div></div></div></form><style data-reactid="453">#components-form-demo-normal-login .login-form {
max-width: 300px;
}
#components-form-demo-normal-login .login-form-forgot {
float: right;
}
#components-form-demo-normal-login .login-form-button {
width: 100%;
}</style></section><section class="code-box-meta markdown" data-reactid="454"><div class="code-box-title" data-reactid="455"><a href="#components-form-demo-normal-login" data-reactid="456">Login Form</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/normal-login.md" data-reactid="457"><i class="anticon anticon-edit" data-reactid="458"></i></a></div><div data-reactid="459"><p data-reactid="460"><!-- react-text: 461 -->Normal login form which can contain more elements.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="462"></i></section><section class="highlight-wrapper" data-reactid="463"><div class="highlight" data-reactid="464"><i class="anticon anticon-copy code-box-code-copy" data-reactid="465"></i><pre class="language-jsx" data-reactid="466"><code data-reactid="467"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Icon<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Button<span class="token punctuation">,</span> Checkbox <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">NormalLoginForm</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
handleSubmit <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSubmit<span class="token punctuation">}</span></span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>login-form<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'userName'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your username!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">prefix</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token operator">&lt;</span>Icon type<span class="token operator">=</span><span class="token string">"user"</span> style<span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> fontSize<span class="token punctuation">:</span> <span class="token number">13</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span><span class="token punctuation">}</span> placeholder<span class="token operator">=</span><span class="token string">"Username"</span> <span class="token operator">/</span><span class="token operator">></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'password'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your Password!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">prefix</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token operator">&lt;</span>Icon type<span class="token operator">=</span><span class="token string">"lock"</span> style<span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> fontSize<span class="token punctuation">:</span> <span class="token number">13</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span><span class="token punctuation">}</span> type<span class="token operator">=</span><span class="token string">"password"</span> placeholder<span class="token operator">=</span><span class="token string">"Password"</span> <span class="token operator">/</span><span class="token operator">></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'remember'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
valuePropName<span class="token punctuation">:</span> <span class="token string">'checked'</span><span class="token punctuation">,</span>
initialValue<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Checkbox</span><span class="token punctuation">></span></span>Remember me<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Checkbox</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>login-form-forgot<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Forgot password<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>login-form-button<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
Log <span class="token keyword">in</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
Or <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a</span><span class="token punctuation">></span></span>register now<span class="token operator">!</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedNormalLoginForm <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>NormalLoginForm<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedNormalLoginForm</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div><div class="highlight" data-reactid="468"><pre data-reactid="469"><code class="css" data-reactid="470"><span class="token selector"><span class="token id">#components-form-demo-normal-login</span> <span class="token class">.login-form</span> </span><span class="token punctuation">{</span>
<span class="token property">max-width</span><span class="token punctuation">:</span> <span class="token number">300</span>px<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token selector"><span class="token id">#components-form-demo-normal-login</span> <span class="token class">.login-form-forgot</span> </span><span class="token punctuation">{</span>
<span class="token property">float</span><span class="token punctuation">:</span> right<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token selector"><span class="token id">#components-form-demo-normal-login</span> <span class="token class">.login-form-button</span> </span><span class="token punctuation">{</span>
<span class="token property">width</span><span class="token punctuation">:</span> <span class="token number">100%</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-register" data-reactid="471"><section class="code-box-demo" data-reactid="472"><form class="ant-form ant-form-horizontal" data-reactid="473"><div class="ant-row ant-form-item" data-reactid="474"><div class="ant-col-6 ant-form-item-label" data-reactid="475"><label for="email" class="ant-form-item-required" title="E-mail" data-reactid="476">E-mail</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="477"><div class="ant-form-item-control " data-reactid="478"><input type="text" value="" id="email" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="479"/></div></div></div><div class="ant-row ant-form-item" data-reactid="480"><div class="ant-col-6 ant-form-item-label" data-reactid="481"><label for="password" class="ant-form-item-required" title="Password" data-reactid="482">Password</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="483"><div class="ant-form-item-control " data-reactid="484"><input type="password" value="" id="password" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="485"/></div></div></div><div class="ant-row ant-form-item" data-reactid="486"><div class="ant-col-6 ant-form-item-label" data-reactid="487"><label for="confirm" class="ant-form-item-required" title="Confirm Password" data-reactid="488">Confirm Password</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="489"><div class="ant-form-item-control " data-reactid="490"><input type="password" value="" id="confirm" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="491"/></div></div></div><div class="ant-row ant-form-item" data-reactid="492"><div class="ant-col-6 ant-form-item-label" data-reactid="493"><label for="nickname" class="ant-form-item-required" title="" data-reactid="494"><span data-reactid="495"><!-- react-text: 496 -->Nickname <!-- /react-text --><i class="anticon anticon-question-circle-o" data-reactid="497"></i></span></label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="498"><div class="ant-form-item-control " data-reactid="499"><input type="text" value="" id="nickname" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="500"/></div></div></div><div class="ant-row ant-form-item" data-reactid="501"><div class="ant-col-6 ant-form-item-label" data-reactid="502"><label for="residence" class="ant-form-item-required" title="Habitual Residence" data-reactid="503">Habitual Residence</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="504"><div class="ant-form-item-control has-success" data-reactid="505"><span class="ant-cascader-picker" tabindex="0" data-reactid="506"><input type="text" value="" id="residence" data-__meta="[object Object]" class="ant-input ant-cascader-input ant-input-lg" readonly="" autocomplete="off" data-reactid="507"/><span class="ant-cascader-picker-label" data-reactid="508">Zhejiang / Hangzhou / West Lake</span><i class="anticon anticon-cross-circle ant-cascader-picker-clear" data-reactid="509"></i><i class="anticon anticon-down ant-cascader-picker-arrow" data-reactid="510"></i></span></div></div></div><div class="ant-row ant-form-item" data-reactid="511"><div class="ant-col-6 ant-form-item-label" data-reactid="512"><label for="phone" class="ant-form-item-required" title="Phone Number" data-reactid="513">Phone Number</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="514"><div class="ant-form-item-control " data-reactid="515"><span class="ant-input-wrapper ant-input-group" data-reactid="516"><span class="ant-input-group-addon" data-reactid="517"><div class="icp-selector ant-select ant-select-enabled" data-reactid="518"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0" data-reactid="519"><div class="ant-select-selection__rendered" data-reactid="520"><div class="ant-select-selection-selected-value" title="+86" style="display:block;opacity:1;" data-reactid="521">+86</div></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="522"><b data-reactid="523"></b></span></div></div></span><input type="text" value="" id="phone" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="524"/></span></div></div></div><div class="ant-row ant-form-item" data-reactid="525"><div class="ant-col-6 ant-form-item-label" data-reactid="526"><label for="captcha" class="ant-form-item-required" title="Captcha" data-reactid="527">Captcha</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="528"><div class="ant-form-item-control " data-reactid="529"><div class="ant-row" style="margin-left:-4px;margin-right:-4px;" data-reactid="530"><div style="padding-left:4px;padding-right:4px;" class="ant-col-12" data-reactid="531"><input type="text" value="" id="captcha" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="532"/></div><div style="padding-left:4px;padding-right:4px;" class="ant-col-12" data-reactid="533"><button type="button" class="ant-btn ant-btn-lg" data-reactid="534"><span data-reactid="535">Get captcha</span></button></div></div><div class="ant-form-extra" data-reactid="536">We must make sure that your are a human.</div></div></div></div><div class="ant-row ant-form-item" style="margin-bottom:8px;" data-reactid="537"><div class="ant-col-14 ant-col-offset-6 ant-form-item-control-wrapper" data-reactid="538"><div class="ant-form-item-control " data-reactid="539"><label class="ant-checkbox-wrapper" data-reactid="540"><span class="ant-checkbox" data-reactid="541"><input type="checkbox" class="ant-checkbox-input" data-reactid="542"/><span class="ant-checkbox-inner" data-reactid="543"></span></span><span data-reactid="544"><!-- react-text: 545 -->I have read the <!-- /react-text --><a data-reactid="546">agreement</a></span></label></div></div></div><div class="ant-row ant-form-item" data-reactid="547"><div class="ant-col-14 ant-col-offset-6 ant-form-item-control-wrapper" data-reactid="548"><div class="ant-form-item-control " data-reactid="549"><button type="submit" class="ant-btn ant-btn-primary ant-btn-lg" data-reactid="550"><span data-reactid="551">Register</span></button></div></div></div></form><style data-reactid="552">#components-form-demo-register .icp-selector {
width: 60px;
}</style></section><section class="code-box-meta markdown" data-reactid="553"><div class="code-box-title" data-reactid="554"><a href="#components-form-demo-register" data-reactid="555">Registration</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/register.md" data-reactid="556"><i class="anticon anticon-edit" data-reactid="557"></i></a></div><div data-reactid="558"><p data-reactid="559"><!-- react-text: 560 -->Fill in this form to create a new account for you.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="561"></i></section><section class="highlight-wrapper" data-reactid="562"><div class="highlight" data-reactid="563"><i class="anticon anticon-copy code-box-code-copy" data-reactid="564"></i><pre class="language-jsx" data-reactid="565"><code data-reactid="566"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Tooltip<span class="token punctuation">,</span> Icon<span class="token punctuation">,</span> Cascader<span class="token punctuation">,</span> Select<span class="token punctuation">,</span> Row<span class="token punctuation">,</span> Col<span class="token punctuation">,</span> Checkbox<span class="token punctuation">,</span> Button <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">const</span> Option <span class="token operator">=</span> Select<span class="token punctuation">.</span>Option<span class="token punctuation">;</span>
<span class="token keyword">const</span> residences <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
value<span class="token punctuation">:</span> <span class="token string">'zhejiang'</span><span class="token punctuation">,</span>
label<span class="token punctuation">:</span> <span class="token string">'Zhejiang'</span><span class="token punctuation">,</span>
children<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
value<span class="token punctuation">:</span> <span class="token string">'hangzhou'</span><span class="token punctuation">,</span>
label<span class="token punctuation">:</span> <span class="token string">'Hangzhou'</span><span class="token punctuation">,</span>
children<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
value<span class="token punctuation">:</span> <span class="token string">'xihu'</span><span class="token punctuation">,</span>
label<span class="token punctuation">:</span> <span class="token string">'West Lake'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
value<span class="token punctuation">:</span> <span class="token string">'jiangsu'</span><span class="token punctuation">,</span>
label<span class="token punctuation">:</span> <span class="token string">'Jiangsu'</span><span class="token punctuation">,</span>
children<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
value<span class="token punctuation">:</span> <span class="token string">'nanjing'</span><span class="token punctuation">,</span>
label<span class="token punctuation">:</span> <span class="token string">'Nanjing'</span><span class="token punctuation">,</span>
children<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
value<span class="token punctuation">:</span> <span class="token string">'zhonghuamen'</span><span class="token punctuation">,</span>
label<span class="token punctuation">:</span> <span class="token string">'Zhong Hua Men'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">RegistrationForm</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
state <span class="token operator">=</span> <span class="token punctuation">{</span>
confirmDirty<span class="token punctuation">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
handleSubmit <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFieldsAndScroll</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleConfirmBlur <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> value <span class="token operator">=</span> e<span class="token punctuation">.</span>target<span class="token punctuation">.</span>value<span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span> confirmDirty<span class="token punctuation">:</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>confirmDirty <span class="token operator">||</span> <span class="token operator">!</span><span class="token operator">!</span>value <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
checkPassword <span class="token operator">=</span> <span class="token punctuation">(</span>rule<span class="token punctuation">,</span> value<span class="token punctuation">,</span> callback<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> form <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>value <span class="token operator">&amp;&amp;</span> value <span class="token operator">!==</span> form<span class="token punctuation">.</span><span class="token function">getFieldValue</span><span class="token punctuation">(</span><span class="token string">'password'</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token function">callback</span><span class="token punctuation">(</span><span class="token string">'Two passwords that you enter is inconsistent!'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
<span class="token function">callback</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
checkConfirm <span class="token operator">=</span> <span class="token punctuation">(</span>rule<span class="token punctuation">,</span> value<span class="token punctuation">,</span> callback<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> form <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>value <span class="token operator">&amp;&amp;</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>confirmDirty<span class="token punctuation">)</span> <span class="token punctuation">{</span>
form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token string">'confirm'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> force<span class="token punctuation">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">callback</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">const</span> formItemLayout <span class="token operator">=</span> <span class="token punctuation">{</span>
labelCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">6</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">14</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> tailFormItemLayout <span class="token operator">=</span> <span class="token punctuation">{</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span>
span<span class="token punctuation">:</span> <span class="token number">14</span><span class="token punctuation">,</span>
offset<span class="token punctuation">:</span> <span class="token number">6</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> prefixSelector <span class="token operator">=</span> <span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'prefix'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
initialValue<span class="token punctuation">:</span> <span class="token string">'86'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Select</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>icp-selector<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>86<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token operator">+</span><span class="token number">86</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Select</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSubmit<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"E-mail"</span>
hasFeedback
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'email'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
type<span class="token punctuation">:</span> <span class="token string">'email'</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'The input is not valid E-mail!'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your E-mail!'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Password"</span>
hasFeedback
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'password'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your password!'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
validator<span class="token punctuation">:</span> <span class="token keyword">this</span><span class="token punctuation">.</span>checkConfirm<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>password<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Confirm Password"</span>
hasFeedback
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'confirm'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please confirm your password!'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
validator<span class="token punctuation">:</span> <span class="token keyword">this</span><span class="token punctuation">.</span>checkPassword<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>password<span class="token punctuation">"</span></span> <span class="token attr-name">onBlur</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleConfirmBlur<span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token punctuation">{</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>span</span><span class="token punctuation">></span></span>
Nickname<span class="token entity" title="&nbsp;">&amp;nbsp;</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Tooltip</span> <span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>What</span> <span class="token attr-name">do</span> <span class="token attr-name">you</span> <span class="token attr-name">want</span> <span class="token attr-name">other</span> <span class="token attr-name">to</span> <span class="token attr-name">call</span> <span class="token attr-name">you?"</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Icon</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>question-circle-o<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Tooltip</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>span</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
hasFeedback
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'nickname'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your nickname!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Habitual Residence"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'residence'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
initialValue<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token string">'zhejiang'</span><span class="token punctuation">,</span> <span class="token string">'hangzhou'</span><span class="token punctuation">,</span> <span class="token string">'xihu'</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> type<span class="token punctuation">:</span> <span class="token string">'array'</span><span class="token punctuation">,</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please select your habitual residence!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Cascader</span> <span class="token attr-name">options</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>residences<span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Phone Number"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'phone'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your phone number!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">addonBefore</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>prefixSelector<span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Captcha"</span>
extra<span class="token operator">=</span><span class="token string">"We must make sure that your are a human."</span>
<span class="token operator">></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Row</span> <span class="token attr-name">gutter</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">8</span><span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Col</span> <span class="token attr-name">span</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">12</span><span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'captcha'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input the captcha you got!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>large<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Col</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Col</span> <span class="token attr-name">span</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">12</span><span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>large<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Get captcha<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Col</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Row</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem <span class="token punctuation">{</span><span class="token operator">...</span>tailFormItemLayout<span class="token punctuation">}</span> style<span class="token operator">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> marginBottom<span class="token punctuation">:</span> <span class="token number">8</span> <span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'agreement'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
valuePropName<span class="token punctuation">:</span> <span class="token string">'checked'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Checkbox</span><span class="token punctuation">></span></span>I have read the <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a</span><span class="token punctuation">></span></span>agreement<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a</span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Checkbox</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem <span class="token punctuation">{</span><span class="token operator">...</span>tailFormItemLayout<span class="token punctuation">}</span><span class="token operator">></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>large<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Register<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedRegistrationForm <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>RegistrationForm<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedRegistrationForm</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div><div class="highlight" data-reactid="567"><pre data-reactid="568"><code class="css" data-reactid="569"><span class="token selector"><span class="token id">#components-form-demo-register</span> <span class="token class">.icp-selector</span> </span><span class="token punctuation">{</span>
<span class="token property">width</span><span class="token punctuation">:</span> <span class="token number">60</span>px<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-advanced-search" data-reactid="570"><section class="code-box-demo" data-reactid="571"><div data-reactid="572"><form class="ant-form ant-form-horizontal ant-advanced-search-form" data-reactid="573"><div class="ant-row" style="margin-left:-20px;margin-right:-20px;" data-reactid="574"><div style="padding-left:20px;padding-right:20px;" class="ant-col-8" data-reactid="575"><div class="ant-row ant-form-item" data-reactid="576"><div class="ant-col-5 ant-form-item-label" data-reactid="577"><label for="field-0" class="" title="Field 0" data-reactid="578">Field 0</label></div><div class="ant-col-19 ant-form-item-control-wrapper" data-reactid="579"><div class="ant-form-item-control " data-reactid="580"><input type="text" placeholder="placeholder" value="" id="field-0" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="581"/></div></div></div></div><div style="padding-left:20px;padding-right:20px;" class="ant-col-8" data-reactid="582"><div class="ant-row ant-form-item" data-reactid="583"><div class="ant-col-5 ant-form-item-label" data-reactid="584"><label for="field-1" class="" title="Field 1" data-reactid="585">Field 1</label></div><div class="ant-col-19 ant-form-item-control-wrapper" data-reactid="586"><div class="ant-form-item-control " data-reactid="587"><input type="text" placeholder="placeholder" value="" id="field-1" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="588"/></div></div></div></div><div style="padding-left:20px;padding-right:20px;" class="ant-col-8" data-reactid="589"><div class="ant-row ant-form-item" data-reactid="590"><div class="ant-col-5 ant-form-item-label" data-reactid="591"><label for="field-2" class="" title="Field 2" data-reactid="592">Field 2</label></div><div class="ant-col-19 ant-form-item-control-wrapper" data-reactid="593"><div class="ant-form-item-control " data-reactid="594"><input type="text" placeholder="placeholder" value="" id="field-2" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="595"/></div></div></div></div><div style="padding-left:20px;padding-right:20px;" class="ant-col-8" data-reactid="596"><div class="ant-row ant-form-item" data-reactid="597"><div class="ant-col-5 ant-form-item-label" data-reactid="598"><label for="field-3" class="" title="Field 3" data-reactid="599">Field 3</label></div><div class="ant-col-19 ant-form-item-control-wrapper" data-reactid="600"><div class="ant-form-item-control " data-reactid="601"><input type="text" placeholder="placeholder" value="" id="field-3" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="602"/></div></div></div></div><div style="padding-left:20px;padding-right:20px;" class="ant-col-8" data-reactid="603"><div class="ant-row ant-form-item" data-reactid="604"><div class="ant-col-5 ant-form-item-label" data-reactid="605"><label for="field-4" class="" title="Field 4" data-reactid="606">Field 4</label></div><div class="ant-col-19 ant-form-item-control-wrapper" data-reactid="607"><div class="ant-form-item-control " data-reactid="608"><input type="text" placeholder="placeholder" value="" id="field-4" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="609"/></div></div></div></div><div style="padding-left:20px;padding-right:20px;" class="ant-col-8" data-reactid="610"><div class="ant-row ant-form-item" data-reactid="611"><div class="ant-col-5 ant-form-item-label" data-reactid="612"><label for="field-5" class="" title="Field 5" data-reactid="613">Field 5</label></div><div class="ant-col-19 ant-form-item-control-wrapper" data-reactid="614"><div class="ant-form-item-control " data-reactid="615"><input type="text" placeholder="placeholder" value="" id="field-5" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="616"/></div></div></div></div></div><div class="ant-row" data-reactid="617"><div style="text-align:right;" class="ant-col-24" data-reactid="618"><button type="submit" class="ant-btn ant-btn-primary" data-reactid="619"><span data-reactid="620">Search</span></button><button style="margin-left:8px;" type="button" class="ant-btn" data-reactid="621"><span data-reactid="622">Clear</span></button><a style="margin-left:8px;font-size:12px;" data-reactid="623"><!-- react-text: 624 -->Collapse <!-- /react-text --><i class="anticon anticon-down" data-reactid="625"></i></a></div></div></form><div class="search-result-list" data-reactid="626">Search Result List</div></div><style data-reactid="627">#components-form-demo-advanced-search .ant-advanced-search-form {
padding: 24px;
background: #fbfbfb;
border: 1px solid #d9d9d9;
border-radius: 6px;
}
#components-form-demo-advanced-search .ant-form {
max-width: none;
}
#components-form-demo-advanced-search .search-result-list {
margin-top: 16px;
border: 1px dashed #e9e9e9;
border-radius: 6px;
background-color: #fafafa;
min-height: 200px;
text-align: center;
padding-top: 80px;
}
</style></section><section class="code-box-meta markdown" data-reactid="628"><div class="code-box-title" data-reactid="629"><a href="#components-form-demo-advanced-search" data-reactid="630">Advanced search</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/advanced-search.md" data-reactid="631"><i class="anticon anticon-edit" data-reactid="632"></i></a></div><div data-reactid="633"><p data-reactid="634"><!-- react-text: 635 -->Three columns layout is often used for advanced searching of data table.<!-- /react-text --></p><p data-reactid="636"><!-- react-text: 637 -->Because the width of label is not fixed, you may need to adjust it by customizing its style.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="638"></i></section><section class="highlight-wrapper" data-reactid="639"><div class="highlight" data-reactid="640"><i class="anticon anticon-copy code-box-code-copy" data-reactid="641"></i><pre class="language-jsx" data-reactid="642"><code data-reactid="643"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Row<span class="token punctuation">,</span> Col<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Button<span class="token punctuation">,</span> Icon <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">AdvancedSearchForm</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
state <span class="token operator">=</span> <span class="token punctuation">{</span>
expand<span class="token punctuation">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
handleSearch <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleReset <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">resetFields</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
toggle <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> expand <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span> expand<span class="token punctuation">:</span> <span class="token operator">!</span>expand <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">const</span> formItemLayout <span class="token operator">=</span> <span class="token punctuation">{</span>
labelCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">19</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token comment" spellcheck="true">// To generate mock Form.Item</span>
<span class="token keyword">const</span> children <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator">&lt;</span> <span class="token number">10</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
children<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Col</span> <span class="token attr-name">span</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">8</span><span class="token punctuation">}</span></span> <span class="token attr-name">key</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>i<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem <span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span> label<span class="token operator">=</span><span class="token punctuation">{</span><span class="token template-string"><span class="token string">`Field </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>i<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">`</span></span><span class="token punctuation">}</span><span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token template-string"><span class="token string">`field-</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>i<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">`</span></span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>placeholder<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Col</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> expand <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>expand<span class="token punctuation">;</span>
<span class="token keyword">const</span> shownCount <span class="token operator">=</span> expand <span class="token operator">?</span> children<span class="token punctuation">.</span>length <span class="token punctuation">:</span> <span class="token number">6</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span>
<span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ant-advanced-search-form<span class="token punctuation">"</span></span>
<span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSearch<span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Row</span> <span class="token attr-name">gutter</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">40</span><span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span>children<span class="token punctuation">.</span><span class="token function">slice</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> shownCount<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Row</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Row</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Col</span> <span class="token attr-name">span</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">24</span><span class="token punctuation">}</span></span> <span class="token attr-name">style</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> textAlign<span class="token punctuation">:</span> <span class="token string">'right'</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Search<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">style</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> marginLeft<span class="token punctuation">:</span> <span class="token number">8</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span> <span class="token attr-name">onClick</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleReset<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
Clear
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a</span> <span class="token attr-name">style</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> marginLeft<span class="token punctuation">:</span> <span class="token number">8</span><span class="token punctuation">,</span> fontSize<span class="token punctuation">:</span> <span class="token number">12</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span> <span class="token attr-name">onClick</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>toggle<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
Collapse <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Icon</span> <span class="token attr-name">type</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>expand <span class="token operator">?</span> <span class="token string">'up'</span> <span class="token punctuation">:</span> <span class="token string">'down'</span><span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Col</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Row</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedAdvancedSearchForm <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>AdvancedSearchForm<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedAdvancedSearchForm</span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>search-result-list<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Search Result List<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">></span></span><span class="token punctuation">,</span>
mountNode
<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div><div class="highlight" data-reactid="644"><pre data-reactid="645"><code class="css" data-reactid="646"><span class="token selector"><span class="token id">#components-form-demo-advanced-search</span> <span class="token class">.ant-advanced-search-form</span> </span><span class="token punctuation">{</span>
<span class="token property">padding</span><span class="token punctuation">:</span> <span class="token number">24</span>px<span class="token punctuation">;</span>
<span class="token property">background</span><span class="token punctuation">:</span> <span class="token hexcode">#fbfbfb</span><span class="token punctuation">;</span>
<span class="token property">border</span><span class="token punctuation">:</span> <span class="token number">1</span>px solid <span class="token hexcode">#d9d9d9</span><span class="token punctuation">;</span>
<span class="token property">border-radius</span><span class="token punctuation">:</span> <span class="token number">6</span>px<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-form-in-modal" data-reactid="647"><section class="code-box-demo" data-reactid="648"><div data-reactid="649"><button type="button" class="ant-btn ant-btn-primary" data-reactid="650"><span data-reactid="651">New Collection</span></button><!-- react-empty: 652 --></div><style data-reactid="653">.collection-create-form_last-form-item {
margin-bottom: 0;
}</style></section><section class="code-box-meta markdown" data-reactid="654"><div class="code-box-title" data-reactid="655"><a href="#components-form-demo-form-in-modal" data-reactid="656">Form in Modal to Create</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/form-in-modal.md" data-reactid="657"><i class="anticon anticon-edit" data-reactid="658"></i></a></div><div data-reactid="659"><p data-reactid="660"><!-- react-text: 661 -->When user visit a page with a list of items, and want to create a new item. The page can popup a form in Modal, then let user fills in the form to create an item.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="662"></i></section><section class="highlight-wrapper" data-reactid="663"><div class="highlight" data-reactid="664"><i class="anticon anticon-copy code-box-code-copy" data-reactid="665"></i><pre class="language-jsx" data-reactid="666"><code data-reactid="667"><span class="token keyword">import</span> <span class="token punctuation">{</span> Button<span class="token punctuation">,</span> Modal<span class="token punctuation">,</span> Form<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Radio <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">const</span> CollectionCreateForm <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token punctuation">(</span>props<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> visible<span class="token punctuation">,</span> onCancel<span class="token punctuation">,</span> onCreate<span class="token punctuation">,</span> form <span class="token punctuation">}</span> <span class="token operator">=</span> props<span class="token punctuation">;</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> form<span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Modal</span>
<span class="token attr-name">visible</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>visible<span class="token punctuation">}</span></span>
<span class="token attr-name">title</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Create</span> <span class="token attr-name">a</span> <span class="token attr-name">new</span> <span class="token attr-name">collection"</span>
<span class="token attr-name">okText</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Create<span class="token punctuation">"</span></span>
<span class="token attr-name">onCancel</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>onCancel<span class="token punctuation">}</span></span>
<span class="token attr-name">onOk</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>onCreate<span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">layout</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>vertical<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span> <span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Title<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'title'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input the title of collection!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span> <span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Description<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'description'</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>textarea<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span><span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>collection-create-form_last-form-item<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'modifier'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
initialValue<span class="token punctuation">:</span> <span class="token string">'public'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio.Group</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>public<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Public<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>private<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Private<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio.Group</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Modal</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">CollectionsPage</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
state <span class="token operator">=</span> <span class="token punctuation">{</span>
visible<span class="token punctuation">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
showModal <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span> visible<span class="token punctuation">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleCancel <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span> visible<span class="token punctuation">:</span> <span class="token boolean">false</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleCreate <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> form <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>form<span class="token punctuation">;</span>
form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
form<span class="token punctuation">.</span><span class="token function">resetFields</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span> visible<span class="token punctuation">:</span> <span class="token boolean">false</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
saveFormRef <span class="token operator">=</span> <span class="token punctuation">(</span>form<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>form <span class="token operator">=</span> form<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">onClick</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>showModal<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>New <span class="token class-name">Collection</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>CollectionCreateForm</span>
<span class="token attr-name">ref</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>saveFormRef<span class="token punctuation">}</span></span>
<span class="token attr-name">visible</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>visible<span class="token punctuation">}</span></span>
<span class="token attr-name">onCancel</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleCancel<span class="token punctuation">}</span></span>
<span class="token attr-name">onCreate</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleCreate<span class="token punctuation">}</span></span>
<span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>CollectionsPage</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div><div class="highlight" data-reactid="668"><pre data-reactid="669"><code class="css" data-reactid="670"><span class="token selector"><span class="token class">.collection-create-form_last-form-item</span> </span><span class="token punctuation">{</span>
<span class="token property">margin-bottom</span><span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-dynamic-form-item" data-reactid="671"><section class="code-box-demo" data-reactid="672"><form class="ant-form ant-form-horizontal" data-reactid="673"><div class="ant-row ant-form-item" data-reactid="674"><div class="ant-col-20 ant-col-offset-4 ant-form-item-control-wrapper" data-reactid="675"><div class="ant-form-item-control " data-reactid="676"><button style="width:60%;" type="button" class="ant-btn ant-btn-dashed ant-btn-lg" data-reactid="677"><i class="anticon anticon-plus" data-reactid="678"></i><span data-reactid="679"> Add field</span></button></div></div></div><div class="ant-row ant-form-item" data-reactid="680"><div class="ant-col-20 ant-col-offset-4 ant-form-item-control-wrapper" data-reactid="681"><div class="ant-form-item-control " data-reactid="682"><button type="submit" class="ant-btn ant-btn-primary ant-btn-lg" data-reactid="683"><span data-reactid="684">Submit</span></button></div></div></div></form><style data-reactid="685">.dynamic-delete-button {
cursor: pointer;
position: relative;
top: 4px;
font-size: 24px;
color: #999;
transition: all .3s;
}
.dynamic-delete-button:hover {
color: #777;
}
.dynamic-delete-button[disabled] {
cursor: not-allowed;
opacity: 0.5;
}</style></section><section class="code-box-meta markdown" data-reactid="686"><div class="code-box-title" data-reactid="687"><a href="#components-form-demo-dynamic-form-item" data-reactid="688">Dynamic Form Item</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/dynamic-form-item.md" data-reactid="689"><i class="anticon anticon-edit" data-reactid="690"></i></a></div><div data-reactid="691"><p data-reactid="692"><!-- react-text: 693 -->Add or remove form items dynamically.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="694"></i></section><section class="highlight-wrapper" data-reactid="695"><div class="highlight" data-reactid="696"><i class="anticon anticon-copy code-box-code-copy" data-reactid="697"></i><pre class="language-jsx" data-reactid="698"><code data-reactid="699"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Icon<span class="token punctuation">,</span> Button <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">let</span> uuid <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">DynamicFieldSet</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
remove <span class="token operator">=</span> <span class="token punctuation">(</span>k<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> form <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">;</span>
<span class="token comment" spellcheck="true">// can use data-binding to get</span>
<span class="token keyword">const</span> keys <span class="token operator">=</span> form<span class="token punctuation">.</span><span class="token function">getFieldValue</span><span class="token punctuation">(</span><span class="token string">'keys'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment" spellcheck="true">// We need at least one passenger</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>keys<span class="token punctuation">.</span>length <span class="token operator">===</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment" spellcheck="true">// can use data-binding to set</span>
form<span class="token punctuation">.</span><span class="token function">setFieldsValue</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
keys<span class="token punctuation">:</span> keys<span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span>key <span class="token operator">=</span><span class="token operator">></span> key <span class="token operator">!==</span> k<span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
add <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
uuid<span class="token operator">++</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> form <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">;</span>
<span class="token comment" spellcheck="true">// can use data-binding to get</span>
<span class="token keyword">const</span> keys <span class="token operator">=</span> form<span class="token punctuation">.</span><span class="token function">getFieldValue</span><span class="token punctuation">(</span><span class="token string">'keys'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> nextKeys <span class="token operator">=</span> keys<span class="token punctuation">.</span><span class="token function">concat</span><span class="token punctuation">(</span>uuid<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment" spellcheck="true">// can use data-binding to set</span>
<span class="token comment" spellcheck="true">// important! notify form to detect changes</span>
form<span class="token punctuation">.</span><span class="token function">setFieldsValue</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
keys<span class="token punctuation">:</span> nextKeys<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleSubmit <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator<span class="token punctuation">,</span> getFieldValue <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">const</span> formItemLayout <span class="token operator">=</span> <span class="token punctuation">{</span>
labelCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">20</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> formItemLayoutWithOutLabel <span class="token operator">=</span> <span class="token punctuation">{</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">20</span><span class="token punctuation">,</span> offset<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'keys'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> initialValue<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> keys <span class="token operator">=</span> <span class="token function">getFieldValue</span><span class="token punctuation">(</span><span class="token string">'keys'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> formItems <span class="token operator">=</span> keys<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token punctuation">(</span>k<span class="token punctuation">,</span> index<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span><span class="token punctuation">(</span>index <span class="token operator">===</span> <span class="token number">0</span> <span class="token operator">?</span> formItemLayout <span class="token punctuation">:</span> formItemLayoutWithOutLabel<span class="token punctuation">)</span><span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token punctuation">{</span>index <span class="token operator">===</span> <span class="token number">0</span> <span class="token operator">?</span> <span class="token string">'Passengers'</span> <span class="token punctuation">:</span> <span class="token string">''</span><span class="token punctuation">}</span>
required<span class="token operator">=</span><span class="token punctuation">{</span><span class="token boolean">false</span><span class="token punctuation">}</span>
key<span class="token operator">=</span><span class="token punctuation">{</span>k<span class="token punctuation">}</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token template-string"><span class="token string">`names-</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>k<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">`</span></span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
validateTrigger<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token string">'onChange'</span><span class="token punctuation">,</span> <span class="token string">'onBlur'</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
whitespace<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
message<span class="token punctuation">:</span> <span class="token string">"Please input passenger's name or delete this field."</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>passenger</span> <span class="token attr-name">name"</span> <span class="token attr-name">style</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token string">'60%'</span><span class="token punctuation">,</span> marginRight<span class="token punctuation">:</span> <span class="token number">8</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Icon</span>
<span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>dynamic-delete-button<span class="token punctuation">"</span></span>
<span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>minus-circle-o<span class="token punctuation">"</span></span>
<span class="token attr-name">disabled</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>keys<span class="token punctuation">.</span>length <span class="token operator">===</span> <span class="token number">1</span><span class="token punctuation">}</span></span>
<span class="token attr-name">onClick</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">remove</span><span class="token punctuation">(</span>k<span class="token punctuation">)</span><span class="token punctuation">}</span></span>
<span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSubmit<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span>formItems<span class="token punctuation">}</span>
<span class="token operator">&lt;</span>FormItem <span class="token punctuation">{</span><span class="token operator">...</span>formItemLayoutWithOutLabel<span class="token punctuation">}</span><span class="token operator">></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>dashed<span class="token punctuation">"</span></span> <span class="token attr-name">onClick</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>add<span class="token punctuation">}</span></span> <span class="token attr-name">style</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token string">'60%'</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Icon</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>plus<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span> Add field
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem <span class="token punctuation">{</span><span class="token operator">...</span>formItemLayoutWithOutLabel<span class="token punctuation">}</span><span class="token operator">></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>large<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Submit<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedDynamicFieldSet <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>DynamicFieldSet<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedDynamicFieldSet</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div><div class="highlight" data-reactid="700"><pre data-reactid="701"><code class="css" data-reactid="702"><span class="token selector"><span class="token class">.dynamic-delete-button</span> </span><span class="token punctuation">{</span>
<span class="token property">cursor</span><span class="token punctuation">:</span> pointer<span class="token punctuation">;</span>
<span class="token property">position</span><span class="token punctuation">:</span> relative<span class="token punctuation">;</span>
<span class="token property">top</span><span class="token punctuation">:</span> <span class="token number">4</span>px<span class="token punctuation">;</span>
<span class="token property">font-size</span><span class="token punctuation">:</span> <span class="token number">24</span>px<span class="token punctuation">;</span>
<span class="token property">color</span><span class="token punctuation">:</span> <span class="token hexcode">#999</span><span class="token punctuation">;</span>
<span class="token property">transition</span><span class="token punctuation">:</span> all <span class="token number">.3</span>s<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token selector"><span class="token class">.dynamic-delete-button</span><span class="token pseudo-class">:hover</span> </span><span class="token punctuation">{</span>
<span class="token property">color</span><span class="token punctuation">:</span> <span class="token hexcode">#777</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token selector"><span class="token class">.dynamic-delete-button</span><span class="token attribute">[disabled]</span> </span><span class="token punctuation">{</span>
<span class="token property">cursor</span><span class="token punctuation">:</span> not-allowed<span class="token punctuation">;</span>
<span class="token property">opacity</span><span class="token punctuation">:</span> <span class="token number">0.5</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-time-related-controls" data-reactid="703"><section class="code-box-demo" data-reactid="704"><form class="ant-form ant-form-horizontal" data-reactid="705"><div class="ant-row ant-form-item" data-reactid="706"><div class="ant-col-8 ant-form-item-label" data-reactid="707"><label for="date-picker" class="ant-form-item-required" title="DatePicker" data-reactid="708">DatePicker</label></div><div class="ant-col-16 ant-form-item-control-wrapper" data-reactid="709"><div class="ant-form-item-control " data-reactid="710"><span class="ant-calendar-picker" data-reactid="711"><span data-reactid="712"><input readonly="" value="" placeholder="Select date" class="ant-calendar-picker-input ant-input ant-input-lg" data-reactid="713"/><span class="ant-calendar-picker-icon" data-reactid="714"></span></span></span></div></div></div><div class="ant-row ant-form-item" data-reactid="715"><div class="ant-col-8 ant-form-item-label" data-reactid="716"><label for="date-time-picker" class="ant-form-item-required" title="DatePicker[showTime]" data-reactid="717">DatePicker[showTime]</label></div><div class="ant-col-16 ant-form-item-control-wrapper" data-reactid="718"><div class="ant-form-item-control " data-reactid="719"><span class="ant-calendar-picker" style="width:154px;" data-reactid="720"><span data-reactid="721"><input readonly="" value="" placeholder="Select date" class="ant-calendar-picker-input ant-input ant-input-lg" data-reactid="722"/><span class="ant-calendar-picker-icon" data-reactid="723"></span></span></span></div></div></div><div class="ant-row ant-form-item" data-reactid="724"><div class="ant-col-8 ant-form-item-label" data-reactid="725"><label for="month-picker" class="ant-form-item-required" title="MonthPicker" data-reactid="726">MonthPicker</label></div><div class="ant-col-16 ant-form-item-control-wrapper" data-reactid="727"><div class="ant-form-item-control " data-reactid="728"><span class="ant-calendar-picker" data-reactid="729"><span data-reactid="730"><input readonly="" value="" placeholder="Select date" class="ant-calendar-picker-input ant-input ant-input-lg" data-reactid="731"/><span class="ant-calendar-picker-icon" data-reactid="732"></span></span></span></div></div></div><div class="ant-row ant-form-item" data-reactid="733"><div class="ant-col-8 ant-form-item-label" data-reactid="734"><label for="range-picker" class="ant-form-item-required" title="RangePicker" data-reactid="735">RangePicker</label></div><div class="ant-col-16 ant-form-item-control-wrapper" data-reactid="736"><div class="ant-form-item-control " data-reactid="737"><span class="ant-calendar-picker" data-reactid="738"><span class="ant-calendar-picker-input ant-input ant-input-lg" data-reactid="739"><input readonly="" value="" placeholder="Start date" class="ant-calendar-range-picker-input" data-reactid="740"/><span class="ant-calendar-range-picker-separator" data-reactid="741"> ~ </span><input readonly="" value="" placeholder="End date" class="ant-calendar-range-picker-input" data-reactid="742"/><span class="ant-calendar-picker-icon" data-reactid="743"></span></span></span></div></div></div><div class="ant-row ant-form-item" data-reactid="744"><div class="ant-col-8 ant-form-item-label" data-reactid="745"><label for="range-time-picker" class="ant-form-item-required" title="RangePicker[showTime]" data-reactid="746">RangePicker[showTime]</label></div><div class="ant-col-16 ant-form-item-control-wrapper" data-reactid="747"><div class="ant-form-item-control " data-reactid="748"><span class="ant-calendar-picker" style="width:300px;" data-reactid="749"><span class="ant-calendar-picker-input ant-input ant-input-lg" data-reactid="750"><input readonly="" value="" placeholder="Start date" class="ant-calendar-range-picker-input" data-reactid="751"/><span class="ant-calendar-range-picker-separator" data-reactid="752"> ~ </span><input readonly="" value="" placeholder="End date" class="ant-calendar-range-picker-input" data-reactid="753"/><span class="ant-calendar-picker-icon" data-reactid="754"></span></span></span></div></div></div><div class="ant-row ant-form-item" data-reactid="755"><div class="ant-col-8 ant-form-item-label" data-reactid="756"><label for="time-picker" class="ant-form-item-required" title="TimePicker" data-reactid="757">TimePicker</label></div><div class="ant-col-16 ant-form-item-control-wrapper" data-reactid="758"><div class="ant-form-item-control " data-reactid="759"><span class="ant-time-picker ant-time-picker-large" data-reactid="760"><input type="text" class="ant-time-picker-input" placeholder="Select time" readonly="" value="" data-reactid="761"/><span class="ant-time-picker-icon" data-reactid="762"></span></span></div></div></div><div class="ant-row ant-form-item" data-reactid="763"><div class="ant-col-16 ant-col-offset-8 ant-form-item-control-wrapper" data-reactid="764"><div class="ant-form-item-control " data-reactid="765"><button type="submit" class="ant-btn ant-btn-primary ant-btn-lg" data-reactid="766"><span data-reactid="767">Submit</span></button></div></div></div></form></section><section class="code-box-meta markdown" data-reactid="768"><div class="code-box-title" data-reactid="769"><a href="#components-form-demo-time-related-controls" data-reactid="770">Time-related Controls</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/time-related-controls.md" data-reactid="771"><i class="anticon anticon-edit" data-reactid="772"></i></a></div><div data-reactid="773"><p data-reactid="774"><!-- react-text: 775 -->After <!-- /react-text --><code data-reactid="776"><!-- react-text: 777 -->antd@2.0<!-- /react-text --></code><!-- react-text: 778 -->, the <!-- /react-text --><code data-reactid="779"><!-- react-text: 780 -->value<!-- /react-text --></code><!-- react-text: 781 --> of time-related components had been changed to <!-- /react-text --><code data-reactid="782"><!-- react-text: 783 -->moment<!-- /react-text --></code><!-- react-text: 784 -->. So, we need to pre-process those values.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="785"></i></section><section class="highlight-wrapper" data-reactid="786"><div class="highlight" data-reactid="787"><i class="anticon anticon-copy code-box-code-copy" data-reactid="788"></i><pre class="language-jsx" data-reactid="789"><code data-reactid="790"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> DatePicker<span class="token punctuation">,</span> TimePicker<span class="token punctuation">,</span> Button <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">const</span> MonthPicker <span class="token operator">=</span> DatePicker<span class="token punctuation">.</span>MonthPicker<span class="token punctuation">;</span>
<span class="token keyword">const</span> RangePicker <span class="token operator">=</span> DatePicker<span class="token punctuation">.</span>RangePicker<span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">TimeRelatedForm</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
handleSubmit <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> fieldsValue<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment" spellcheck="true">// Should format date value before submit.</span>
<span class="token keyword">const</span> rangeValue <span class="token operator">=</span> fieldsValue<span class="token punctuation">[</span><span class="token string">'range-picker'</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> rangeTimeValue <span class="token operator">=</span> fieldsValue<span class="token punctuation">[</span><span class="token string">'range-time-picker'</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> values <span class="token operator">=</span> <span class="token punctuation">{</span>
<span class="token operator">...</span>fieldsValue<span class="token punctuation">,</span>
<span class="token string">'date-picker'</span><span class="token punctuation">:</span> fieldsValue<span class="token punctuation">[</span><span class="token string">'date-picker'</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token string">'YYYY-MM-DD'</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token string">'date-time-picker'</span><span class="token punctuation">:</span> fieldsValue<span class="token punctuation">[</span><span class="token string">'date-time-picker'</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token string">'YYYY-MM-DD HH:mm:ss'</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token string">'month-picker'</span><span class="token punctuation">:</span> fieldsValue<span class="token punctuation">[</span><span class="token string">'month-picker'</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token string">'YYYY-MM'</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token string">'range-picker'</span><span class="token punctuation">:</span> <span class="token punctuation">[</span>rangeValue<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token string">'YYYY-MM-DD'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> rangeValue<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token string">'YYYY-MM-DD'</span><span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token string">'range-time-picker'</span><span class="token punctuation">:</span> <span class="token punctuation">[</span>
rangeTimeValue<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token string">'YYYY-MM-DD HH:mm:ss'</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
rangeTimeValue<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token string">'YYYY-MM-DD HH:mm:ss'</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token string">'time-picker'</span><span class="token punctuation">:</span> fieldsValue<span class="token punctuation">[</span><span class="token string">'time-picker'</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token string">'HH:mm:ss'</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">const</span> formItemLayout <span class="token operator">=</span> <span class="token punctuation">{</span>
labelCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">8</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">16</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> config <span class="token operator">=</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> type<span class="token punctuation">:</span> <span class="token string">'object'</span><span class="token punctuation">,</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please select time!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> rangeConfig <span class="token operator">=</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> type<span class="token punctuation">:</span> <span class="token string">'array'</span><span class="token punctuation">,</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please select time!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSubmit<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"DatePicker"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'date-picker'</span><span class="token punctuation">,</span> config<span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>DatePicker</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"DatePicker[showTime]"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'date-time-picker'</span><span class="token punctuation">,</span> config<span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>DatePicker</span> <span class="token attr-name">showTime</span> <span class="token attr-name">format</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>YYYY-MM-DD</span> <span class="token attr-name"><span class="token namespace">HH:</span><span class="token namespace">mm:</span>ss"</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"MonthPicker"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'month-picker'</span><span class="token punctuation">,</span> config<span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>MonthPicker</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"RangePicker"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'range-picker'</span><span class="token punctuation">,</span> rangeConfig<span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>RangePicker</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"RangePicker[showTime]"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'range-time-picker'</span><span class="token punctuation">,</span> rangeConfig<span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>RangePicker</span> <span class="token attr-name">showTime</span> <span class="token attr-name">format</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>YYYY-MM-DD</span> <span class="token attr-name"><span class="token namespace">HH:</span><span class="token namespace">mm:</span>ss"</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"TimePicker"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'time-picker'</span><span class="token punctuation">,</span> config<span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>TimePicker</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">16</span><span class="token punctuation">,</span> offset<span class="token punctuation">:</span> <span class="token number">8</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>large<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Submit<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedTimeRelatedForm <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>TimeRelatedForm<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedTimeRelatedForm</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-customized-form-controls" data-reactid="791"><section class="code-box-demo" data-reactid="792"><form class="ant-form ant-form-inline" data-reactid="793"><div class="ant-row ant-form-item" data-reactid="794"><div class="ant-form-item-label" data-reactid="795"><label for="price" class="" title="Price" data-reactid="796">Price</label></div><div class="ant-form-item-control-wrapper" data-reactid="797"><div class="ant-form-item-control has-success" data-reactid="798"><span data-reactid="799"><input type="text" value="0" style="width:65%;margin-right:3%;" class="ant-input ant-input-lg" data-reactid="800"/><div style="width:32%;" class="ant-select-lg ant-select ant-select-enabled" data-reactid="801"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0" data-reactid="802"><div class="ant-select-selection__rendered" data-reactid="803"><div class="ant-select-selection-selected-value" title="RMB" style="display:block;opacity:1;" data-reactid="804">RMB</div></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="805"><b data-reactid="806"></b></span></div></div></span></div></div></div><div class="ant-row ant-form-item" data-reactid="807"><div class="ant-form-item-control-wrapper" data-reactid="808"><div class="ant-form-item-control " data-reactid="809"><button type="submit" class="ant-btn ant-btn-primary ant-btn-lg" data-reactid="810"><span data-reactid="811">Submit</span></button></div></div></div></form></section><section class="code-box-meta markdown" data-reactid="812"><div class="code-box-title" data-reactid="813"><a href="#components-form-demo-customized-form-controls" data-reactid="814">Customized Form Controls</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/customized-form-controls.md" data-reactid="815"><i class="anticon anticon-edit" data-reactid="816"></i></a></div><div data-reactid="817"><p data-reactid="818"><!-- react-text: 819 -->Customized or third-party form controls can be used in Form, too. Controls must follow these conventions:<!-- /react-text --></p><blockquote data-reactid="820"><ul data-reactid="821"><li data-reactid="822"><p data-reactid="823"><!-- react-text: 824 -->It has a controlled property <!-- /react-text --><code data-reactid="825"><!-- react-text: 826 -->value<!-- /react-text --></code><!-- react-text: 827 --> or other name which is equal to the value of <!-- /react-text --><a href="http://ant.design/components/form/?locale=en-US#getFieldDecorator&#x27;s-parameters" data-reactid="828"><code data-reactid="829"><!-- react-text: 830 -->valuePropName<!-- /react-text --></code></a><!-- react-text: 831 -->.<!-- /react-text --></p></li><li data-reactid="832"><p data-reactid="833"><!-- react-text: 834 -->It has event <!-- /react-text --><code data-reactid="835"><!-- react-text: 836 -->onChange<!-- /react-text --></code><!-- react-text: 837 --> or an event which name is equal to the value of <!-- /react-text --><a href="http://ant.design/components/form/?locale=en-US#getFieldDecorator&#x27;s-parameters" data-reactid="838"><code data-reactid="839"><!-- react-text: 840 -->trigger<!-- /react-text --></code></a><!-- react-text: 841 -->.<!-- /react-text --></p></li></ul></blockquote></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="842"></i></section><section class="highlight-wrapper" data-reactid="843"><div class="highlight" data-reactid="844"><i class="anticon anticon-copy code-box-code-copy" data-reactid="845"></i><pre class="language-jsx" data-reactid="846"><code data-reactid="847"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Select<span class="token punctuation">,</span> Button <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">const</span> Option <span class="token operator">=</span> Select<span class="token punctuation">.</span>Option<span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">PriceInput</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
<span class="token function">constructor</span><span class="token punctuation">(</span>props<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">super</span><span class="token punctuation">(</span>props<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> value <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>value <span class="token operator">||</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>state <span class="token operator">=</span> <span class="token punctuation">{</span>
number<span class="token punctuation">:</span> value<span class="token punctuation">.</span>number <span class="token operator">||</span> <span class="token number">0</span><span class="token punctuation">,</span>
currency<span class="token punctuation">:</span> value<span class="token punctuation">.</span>currency <span class="token operator">||</span> <span class="token string">'rmb'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">componentWillReceiveProps</span><span class="token punctuation">(</span>nextProps<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment" spellcheck="true">// Should be a controlled component.</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token string">'value'</span> <span class="token keyword">in</span> nextProps<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> value <span class="token operator">=</span> nextProps<span class="token punctuation">.</span>value<span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
handleNumberChange <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> number <span class="token operator">=</span> <span class="token function">parseInt</span><span class="token punctuation">(</span>e<span class="token punctuation">.</span>target<span class="token punctuation">.</span>value <span class="token operator">||</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token function">isNaN</span><span class="token punctuation">(</span>number<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span><span class="token punctuation">(</span><span class="token string">'value'</span> <span class="token keyword">in</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span> number <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">triggerChange</span><span class="token punctuation">(</span><span class="token punctuation">{</span> number <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleCurrencyChange <span class="token operator">=</span> <span class="token punctuation">(</span>currency<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span><span class="token punctuation">(</span><span class="token string">'value'</span> <span class="token keyword">in</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span> currency <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">triggerChange</span><span class="token punctuation">(</span><span class="token punctuation">{</span> currency <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
triggerChange <span class="token operator">=</span> <span class="token punctuation">(</span>changedValue<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token comment" spellcheck="true">// Should provide an event to pass value to Form.</span>
<span class="token keyword">const</span> onChange <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>onChange<span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>onChange<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token function">onChange</span><span class="token punctuation">(</span>Object<span class="token punctuation">.</span><span class="token function">assign</span><span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">,</span> changedValue<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> size <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">;</span>
<span class="token keyword">const</span> state <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>span</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span>
<span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>text<span class="token punctuation">"</span></span>
<span class="token attr-name">size</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>size<span class="token punctuation">}</span></span>
<span class="token attr-name">value</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>state<span class="token punctuation">.</span>number<span class="token punctuation">}</span></span>
<span class="token attr-name">onChange</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleNumberChange<span class="token punctuation">}</span></span>
<span class="token attr-name">style</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token string">'65%'</span><span class="token punctuation">,</span> marginRight<span class="token punctuation">:</span> <span class="token string">'3%'</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Select</span>
<span class="token attr-name">value</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>state<span class="token punctuation">.</span>currency<span class="token punctuation">}</span></span>
<span class="token attr-name">size</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>size<span class="token punctuation">}</span></span>
<span class="token attr-name">style</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> width<span class="token punctuation">:</span> <span class="token string">'32%'</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">onChange</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleCurrencyChange<span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>rmb<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>RMB<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>dollar<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Dollar<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Select</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>span</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">Demo</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
handleSubmit <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
checkPrice <span class="token operator">=</span> <span class="token punctuation">(</span>rule<span class="token punctuation">,</span> value<span class="token punctuation">,</span> callback<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>value<span class="token punctuation">.</span>number <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token function">callback</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">callback</span><span class="token punctuation">(</span><span class="token string">'Price must greater than zero!'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">layout</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>inline<span class="token punctuation">"</span></span> <span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSubmit<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span> <span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Price<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'price'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
initialValue<span class="token punctuation">:</span> <span class="token punctuation">{</span> number<span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">,</span> currency<span class="token punctuation">:</span> <span class="token string">'rmb'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> validator<span class="token punctuation">:</span> <span class="token keyword">this</span><span class="token punctuation">.</span>checkPrice <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>PriceInput</span> <span class="token punctuation">/></span></span><span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Submit<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedDemo <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>Demo<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedDemo</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-global-state" data-reactid="848"><section class="code-box-demo" data-reactid="849"><div data-reactid="850"><form class="ant-form ant-form-inline" data-reactid="851"><div class="ant-row ant-form-item" data-reactid="852"><div class="ant-form-item-label" data-reactid="853"><label for="username" class="ant-form-item-required" title="Username" data-reactid="854">Username</label></div><div class="ant-form-item-control-wrapper" data-reactid="855"><div class="ant-form-item-control has-success" data-reactid="856"><input type="text" value="BENJYCUI" id="username" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="857"/></div></div></div></form><pre class="language-bash" data-reactid="858">{
&quot;username&quot;: {
&quot;value&quot;: &quot;benjycui&quot;
}
}</pre></div><style data-reactid="859">
#components-form-demo-global-state .language-bash {
max-width: 400px;
border-radius: 6px;
margin-top: 24px;
}
</style></section><section class="code-box-meta markdown" data-reactid="860"><div class="code-box-title" data-reactid="861"><a href="#components-form-demo-global-state" data-reactid="862">Store Form Data into Upper Component</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/global-state.md" data-reactid="863"><i class="anticon anticon-edit" data-reactid="864"></i></a></div><div data-reactid="865"><p data-reactid="866"><!-- react-text: 867 -->We can store form data into upper component or <!-- /react-text --><a href="https://github.com/reactjs/redux" data-reactid="868"><!-- react-text: 869 -->Redux<!-- /react-text --></a><!-- react-text: 870 --> or <!-- /react-text --><a href="https://github.com/dvajs/dva" data-reactid="871"><!-- react-text: 872 -->dva<!-- /react-text --></a><!-- react-text: 873 --> by using <!-- /react-text --><code data-reactid="874"><!-- react-text: 875 -->onFieldsChange<!-- /react-text --></code><!-- react-text: 876 --> and <!-- /react-text --><code data-reactid="877"><!-- react-text: 878 -->mapPropsToFields<!-- /react-text --></code><!-- react-text: 879 -->, see more at this <!-- /react-text --><a href="http://react-component.github.io/form/examples/redux.html" data-reactid="880"><!-- react-text: 881 -->rc-form demo<!-- /react-text --></a><!-- react-text: 882 -->.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="883"></i></section><section class="highlight-wrapper" data-reactid="884"><div class="highlight" data-reactid="885"><i class="anticon anticon-copy code-box-code-copy" data-reactid="886"></i><pre class="language-jsx" data-reactid="887"><code data-reactid="888"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Input <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">const</span> CustomizedForm <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
<span class="token function">onFieldsChange</span><span class="token punctuation">(</span>props<span class="token punctuation">,</span> changedFields<span class="token punctuation">)</span> <span class="token punctuation">{</span>
props<span class="token punctuation">.</span><span class="token function">onChange</span><span class="token punctuation">(</span>changedFields<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token function">mapPropsToFields</span><span class="token punctuation">(</span>props<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token punctuation">{</span>
username<span class="token punctuation">:</span> <span class="token punctuation">{</span>
<span class="token operator">...</span>props<span class="token punctuation">.</span>username<span class="token punctuation">,</span>
value<span class="token punctuation">:</span> props<span class="token punctuation">.</span>username<span class="token punctuation">.</span>value<span class="token punctuation">.</span><span class="token function">toUpperCase</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token function">onValuesChange</span><span class="token punctuation">(</span>_<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token punctuation">(</span>props<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">layout</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>inline<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span> <span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Username<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'username'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Username is required!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token punctuation">/></span></span><span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">Demo</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
state <span class="token operator">=</span> <span class="token punctuation">{</span>
fields<span class="token punctuation">:</span> <span class="token punctuation">{</span>
username<span class="token punctuation">:</span> <span class="token punctuation">{</span>
value<span class="token punctuation">:</span> <span class="token string">'benjycui'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
handleFormChange <span class="token operator">=</span> <span class="token punctuation">(</span>changedFields<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
fields<span class="token punctuation">:</span> <span class="token punctuation">{</span> <span class="token operator">...</span><span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>fields<span class="token punctuation">,</span> <span class="token operator">...</span>changedFields <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> fields <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>fields<span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>CustomizedForm <span class="token punctuation">{</span><span class="token operator">...</span>fields<span class="token punctuation">}</span> onChange<span class="token operator">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleFormChange<span class="token punctuation">}</span> <span class="token operator">/</span><span class="token operator">></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>pre</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>language-bash<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token punctuation">{</span>JSON<span class="token punctuation">.</span><span class="token function">stringify</span><span class="token punctuation">(</span>fields<span class="token punctuation">,</span> <span class="token keyword">null</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>pre</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Demo</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-without-form-create" data-reactid="889"><section class="code-box-demo" data-reactid="890"><form class="ant-form ant-form-horizontal" data-reactid="891"><div class="ant-row ant-form-item ant-form-item-with-help" data-reactid="892"><div class="ant-col-7 ant-form-item-label" data-reactid="893"><label class="" title="Prime between 8 &amp; 12" data-reactid="894">Prime between 8 &amp; 12</label></div><div class="ant-col-12 ant-form-item-control-wrapper" data-reactid="895"><div class="ant-form-item-control " data-reactid="896"><div class="ant-input-number ant-input-number-lg" data-reactid="897"><div class="ant-input-number-handler-wrap" data-reactid="898"><span unselectable="unselectable" class="ant-input-number-handler ant-input-number-handler-up " data-reactid="899"><span unselectable="unselectable" class="ant-input-number-handler-up-inner" data-reactid="900"></span></span><span unselectable="unselectable" class="ant-input-number-handler ant-input-number-handler-down " data-reactid="901"><span unselectable="unselectable" class="ant-input-number-handler-down-inner" data-reactid="902"></span></span></div><div class="ant-input-number-input-wrap" data-reactid="903"><input min="8" max="12" class="ant-input-number-input" autocomplete="off" value="11" data-reactid="904"/></div></div><div class="ant-form-explain" data-reactid="905">A prime is a natural number greater than 1 that has no positive divisors other than 1 and itself.</div></div></div></div></form></section><section class="code-box-meta markdown" data-reactid="906"><div class="code-box-title" data-reactid="907"><a href="#components-form-demo-without-form-create" data-reactid="908">Handle Form Data Manually</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/without-form-create.md" data-reactid="909"><i class="anticon anticon-edit" data-reactid="910"></i></a></div><div data-reactid="911"><p data-reactid="912"><code data-reactid="913"><!-- react-text: 914 -->Form.create<!-- /react-text --></code><!-- react-text: 915 --> will collect and validate form data automatically. But if you don&#x27;t need this feature or the default behaviour cannot satisfy your business, you can drop <!-- /react-text --><code data-reactid="916"><!-- react-text: 917 -->Form.create<!-- /react-text --></code><!-- react-text: 918 --> and handle form data manually.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="919"></i></section><section class="highlight-wrapper" data-reactid="920"><div class="highlight" data-reactid="921"><i class="anticon anticon-copy code-box-code-copy" data-reactid="922"></i><pre class="language-jsx" data-reactid="923"><code data-reactid="924"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> InputNumber <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">function</span> <span class="token function">validatePrimeNumber</span><span class="token punctuation">(</span>number<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>number <span class="token operator">===</span> <span class="token number">11</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token punctuation">{</span>
validateStatus<span class="token punctuation">:</span> <span class="token string">'success'</span><span class="token punctuation">,</span>
errorMsg<span class="token punctuation">:</span> <span class="token keyword">null</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> <span class="token punctuation">{</span>
validateStatus<span class="token punctuation">:</span> <span class="token string">'error'</span><span class="token punctuation">,</span>
errorMsg<span class="token punctuation">:</span> <span class="token string">'The prime between 8 and 12 is 11!'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">class</span> <span class="token class-name">RawForm</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
state <span class="token operator">=</span> <span class="token punctuation">{</span>
number<span class="token punctuation">:</span> <span class="token punctuation">{</span>
value<span class="token punctuation">:</span> <span class="token number">11</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
handleNumberChange <span class="token operator">=</span> <span class="token punctuation">(</span>value<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
number<span class="token punctuation">:</span> <span class="token punctuation">{</span>
<span class="token operator">...</span><span class="token function">validatePrimeNumber</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">,</span>
value<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> formItemLayout <span class="token operator">=</span> <span class="token punctuation">{</span>
labelCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">7</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">12</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> number <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>number<span class="token punctuation">;</span>
<span class="token keyword">const</span> tips <span class="token operator">=</span> <span class="token string">'A prime is a natural number greater than 1 that has no positive divisors other than 1 and itself.'</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Prime between 8 &amp; 12"</span>
validateStatus<span class="token operator">=</span><span class="token punctuation">{</span>number<span class="token punctuation">.</span>validateStatus<span class="token punctuation">}</span>
help<span class="token operator">=</span><span class="token punctuation">{</span>number<span class="token punctuation">.</span>errorMsg <span class="token operator">||</span> tips<span class="token punctuation">}</span>
<span class="token operator">></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>InputNumber</span>
<span class="token attr-name">min</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">8</span><span class="token punctuation">}</span></span>
<span class="token attr-name">max</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">12</span><span class="token punctuation">}</span></span>
<span class="token attr-name">value</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>number<span class="token punctuation">.</span>value<span class="token punctuation">}</span></span>
<span class="token attr-name">onChange</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleNumberChange<span class="token punctuation">}</span></span>
<span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>RawForm</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-validate-static" data-reactid="925"><section class="code-box-demo" data-reactid="926"><form class="ant-form ant-form-horizontal" data-reactid="927"><div class="ant-row ant-form-item ant-form-item-with-help" data-reactid="928"><div class="ant-col-5 ant-form-item-label" data-reactid="929"><label class="" title="Fail" data-reactid="930">Fail</label></div><div class="ant-col-12 ant-form-item-control-wrapper" data-reactid="931"><div class="ant-form-item-control has-error" data-reactid="932"><input type="text" placeholder="unavailable choice" id="error" class="ant-input ant-input-lg" data-reactid="933"/><div class="ant-form-explain" data-reactid="934">Should be combination of numbers &amp; alphabets</div></div></div></div><div class="ant-row ant-form-item" data-reactid="935"><div class="ant-col-5 ant-form-item-label" data-reactid="936"><label class="" title="Warning" data-reactid="937">Warning</label></div><div class="ant-col-12 ant-form-item-control-wrapper" data-reactid="938"><div class="ant-form-item-control has-warning" data-reactid="939"><input type="text" placeholder="Warning" id="warning" class="ant-input ant-input-lg" data-reactid="940"/></div></div></div><div class="ant-row ant-form-item ant-form-item-with-help" data-reactid="941"><div class="ant-col-5 ant-form-item-label" data-reactid="942"><label class="" title="Validating" data-reactid="943">Validating</label></div><div class="ant-col-12 ant-form-item-control-wrapper" data-reactid="944"><div class="ant-form-item-control has-feedback is-validating" data-reactid="945"><input type="text" placeholder="I&#x27;m the content is being validated" id="validating" class="ant-input ant-input-lg" data-reactid="946"/><div class="ant-form-explain" data-reactid="947">The information is being validated...</div></div></div></div><div class="ant-row ant-form-item" data-reactid="948"><div class="ant-col-5 ant-form-item-label" data-reactid="949"><label class="" title="Success" data-reactid="950">Success</label></div><div class="ant-col-12 ant-form-item-control-wrapper" data-reactid="951"><div class="ant-form-item-control has-feedback has-success" data-reactid="952"><input type="text" placeholder="I&#x27;m the content" id="success" class="ant-input ant-input-lg" data-reactid="953"/></div></div></div><div class="ant-row ant-form-item" data-reactid="954"><div class="ant-col-5 ant-form-item-label" data-reactid="955"><label class="" title="Warning" data-reactid="956">Warning</label></div><div class="ant-col-12 ant-form-item-control-wrapper" data-reactid="957"><div class="ant-form-item-control has-feedback has-warning" data-reactid="958"><input type="text" placeholder="Warning" id="warning" class="ant-input ant-input-lg" data-reactid="959"/></div></div></div><div class="ant-row ant-form-item ant-form-item-with-help" data-reactid="960"><div class="ant-col-5 ant-form-item-label" data-reactid="961"><label class="" title="Fail" data-reactid="962">Fail</label></div><div class="ant-col-12 ant-form-item-control-wrapper" data-reactid="963"><div class="ant-form-item-control has-feedback has-error" data-reactid="964"><input type="text" placeholder="unavailable choice" id="error" class="ant-input ant-input-lg" data-reactid="965"/><div class="ant-form-explain" data-reactid="966">Should be combination of numbers &amp; alphabets</div></div></div></div><div class="ant-row ant-form-item ant-form-item-with-help" data-reactid="967"><div class="ant-col-5 ant-form-item-label" data-reactid="968"><label class="" title="inline" data-reactid="969">inline</label></div><div class="ant-form-item-control-wrapper" data-reactid="970"><div class="ant-form-item-control " data-reactid="971"><div class="ant-col-6" data-reactid="972"><div class="ant-row ant-form-item ant-form-item-with-help" data-reactid="973"><div class="ant-form-item-control-wrapper" data-reactid="974"><div class="ant-form-item-control has-error" data-reactid="975"><span class="ant-calendar-picker" data-reactid="976"><span data-reactid="977"><input readonly="" value="" placeholder="Select date" class="ant-calendar-picker-input ant-input ant-input-lg" data-reactid="978"/><span class="ant-calendar-picker-icon" data-reactid="979"></span></span></span><div class="ant-form-explain" data-reactid="980">Please select the correct date</div></div></div></div></div><div class="ant-col-1" data-reactid="981"><p class="ant-form-split" data-reactid="982">-</p></div><div class="ant-col-6" data-reactid="983"><div class="ant-row ant-form-item" data-reactid="984"><div class="ant-form-item-control-wrapper" data-reactid="985"><div class="ant-form-item-control " data-reactid="986"><span class="ant-calendar-picker" data-reactid="987"><span data-reactid="988"><input readonly="" value="" placeholder="Select date" class="ant-calendar-picker-input ant-input ant-input-lg" data-reactid="989"/><span class="ant-calendar-picker-icon" data-reactid="990"></span></span></span></div></div></div></div><div class="ant-form-explain" data-reactid="991"></div></div></div></div></form></section><section class="code-box-meta markdown" data-reactid="992"><div class="code-box-title" data-reactid="993"><a href="#components-form-demo-validate-static" data-reactid="994">Customized Validation</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/validate-static.md" data-reactid="995"><i class="anticon anticon-edit" data-reactid="996"></i></a></div><div data-reactid="997"><p data-reactid="998"><!-- react-text: 999 -->We provide properties like <!-- /react-text --><code data-reactid="1000"><!-- react-text: 1001 -->validateStatus<!-- /react-text --></code><!-- react-text: 1002 --> <!-- /react-text --><code data-reactid="1003"><!-- react-text: 1004 -->help<!-- /react-text --></code><!-- react-text: 1005 --> <!-- /react-text --><code data-reactid="1006"><!-- react-text: 1007 -->hasFeedback<!-- /react-text --></code><!-- react-text: 1008 --> to customize your own validate status and message, without using <!-- /react-text --><code data-reactid="1009"><!-- react-text: 1010 -->Form.create<!-- /react-text --></code><!-- react-text: 1011 --> and <!-- /react-text --><code data-reactid="1012"><!-- react-text: 1013 -->getFieldDecorator<!-- /react-text --></code><!-- react-text: 1014 -->.<!-- /react-text --></p><ol data-reactid="1015"><li data-reactid="1016"><p data-reactid="1017"><code data-reactid="1018"><!-- react-text: 1019 -->validateStatus<!-- /react-text --></code><!-- react-text: 1020 -->: validate status of form components which could be &#x27;success&#x27;, &#x27;warning&#x27;, &#x27;error&#x27;, &#x27;validating&#x27;.<!-- /react-text --></p></li><li data-reactid="1021"><p data-reactid="1022"><code data-reactid="1023"><!-- react-text: 1024 -->hasFeedback<!-- /react-text --></code><!-- react-text: 1025 -->: display feed icon of input control<!-- /react-text --></p></li><li data-reactid="1026"><p data-reactid="1027"><code data-reactid="1028"><!-- react-text: 1029 -->help<!-- /react-text --></code><!-- react-text: 1030 -->: display validate message.<!-- /react-text --></p></li></ol></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="1031"></i></section><section class="highlight-wrapper" data-reactid="1032"><div class="highlight" data-reactid="1033"><i class="anticon anticon-copy code-box-code-copy" data-reactid="1034"></i><pre class="language-jsx" data-reactid="1035"><code data-reactid="1036"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> DatePicker<span class="token punctuation">,</span> Col <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Fail<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">12</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">validateStatus</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>error<span class="token punctuation">"</span></span>
<span class="token attr-name">help</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Should</span> <span class="token attr-name">be</span> <span class="token attr-name">combination</span> <span class="token attr-name">of</span> <span class="token attr-name">numbers</span> <span class="token attr-name">&amp;</span> <span class="token attr-name">alphabets"</span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>unavailable</span> <span class="token attr-name">choice"</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>error<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Warning<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">12</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">validateStatus</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>warning<span class="token punctuation">"</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Warning<span class="token punctuation">"</span></span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>warning<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Validating<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">12</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">hasFeedback</span>
<span class="token attr-name">validateStatus</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>validating<span class="token punctuation">"</span></span>
<span class="token attr-name">help</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>The</span> <span class="token attr-name">information</span> <span class="token attr-name">is</span> <span class="token attr-name">being</span> <span class="token attr-name">validated..."</span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>I<span class="token punctuation">'</span>m</span> <span class="token attr-name">the</span> <span class="token attr-name">content</span> <span class="token attr-name">is</span> <span class="token attr-name">being</span> <span class="token attr-name">validated"</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>validating<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Success<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">12</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">hasFeedback</span>
<span class="token attr-name">validateStatus</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>success<span class="token punctuation">"</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>I<span class="token punctuation">'</span>m</span> <span class="token attr-name">the</span> <span class="token attr-name">content"</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>success<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Warning<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">12</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">hasFeedback</span>
<span class="token attr-name">validateStatus</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>warning<span class="token punctuation">"</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Warning<span class="token punctuation">"</span></span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>warning<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Fail<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">12</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">hasFeedback</span>
<span class="token attr-name">validateStatus</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>error<span class="token punctuation">"</span></span>
<span class="token attr-name">help</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Should</span> <span class="token attr-name">be</span> <span class="token attr-name">combination</span> <span class="token attr-name">of</span> <span class="token attr-name">numbers</span> <span class="token attr-name">&amp;</span> <span class="token attr-name">alphabets"</span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>unavailable</span> <span class="token attr-name">choice"</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>error<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>inline<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">5</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">help</span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Col</span> <span class="token attr-name">span</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>6<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span> <span class="token attr-name">validateStatus</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>error<span class="token punctuation">"</span></span> <span class="token attr-name">help</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Please</span> <span class="token attr-name">select</span> <span class="token attr-name">the</span> <span class="token attr-name">correct</span> <span class="token attr-name">date"</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>DatePicker</span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Col</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Col</span> <span class="token attr-name">span</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>1<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>p</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ant-form-split<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token operator">-</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>p</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Col</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Col</span> <span class="token attr-name">span</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>6<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>DatePicker</span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Col</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-validate-other" data-reactid="1037"><section class="code-box-demo" data-reactid="1038"><form class="ant-form ant-form-horizontal" data-reactid="1039"><div class="ant-row ant-form-item" data-reactid="1040"><div class="ant-col-6 ant-form-item-label" data-reactid="1041"><label class="" title="Nation" data-reactid="1042">Nation</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1043"><div class="ant-form-item-control " data-reactid="1044"><span class="ant-form-text" data-reactid="1045">China</span></div></div></div><div class="ant-row ant-form-item" data-reactid="1046"><div class="ant-col-6 ant-form-item-label" data-reactid="1047"><label for="select" class="ant-form-item-required" title="Select" data-reactid="1048">Select</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1049"><div class="ant-form-item-control " data-reactid="1050"><div class="ant-select-lg ant-select ant-select-enabled" data-reactid="1051"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0" data-reactid="1052"><div class="ant-select-selection__rendered" data-reactid="1053"><div style="display:block;user-select:none;-webkit-user-select:none;" unselectable="unselectable" class="ant-select-selection__placeholder" data-reactid="1054">Please select a country</div></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="1055"><b data-reactid="1056"></b></span></div></div></div></div></div><div class="ant-row ant-form-item" data-reactid="1057"><div class="ant-col-6 ant-form-item-label" data-reactid="1058"><label for="select-multiple" class="ant-form-item-required" title="Select[multiple]" data-reactid="1059">Select[multiple]</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1060"><div class="ant-form-item-control " data-reactid="1061"><div class="ant-select-lg ant-select ant-select-enabled" data-reactid="1062"><div class="ant-select-selection
ant-select-selection--multiple" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" data-reactid="1063"><div class="ant-select-selection__rendered" data-reactid="1064"><div style="display:block;user-select:none;-webkit-user-select:none;" unselectable="unselectable" class="ant-select-selection__placeholder" data-reactid="1065">Please select favourite colors</div><ul data-reactid="1066"><li class="ant-select-search ant-select-search--inline" data-reactid="1067"><div class="ant-select-search__field__wrap" data-reactid="1068"><input value="" class="ant-select-search__field" data-reactid="1069"/><span class="ant-select-search__field__mirror" data-reactid="1070"><!-- react-text: 1071 --><!-- /react-text --><!-- react-text: 1072 --> <!-- /react-text --></span></div></li></ul></div></div></div></div></div></div><div class="ant-row ant-form-item" data-reactid="1073"><div class="ant-col-6 ant-form-item-label" data-reactid="1074"><label for="input-number" class="" title="InputNumber" data-reactid="1075">InputNumber</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1076"><div class="ant-form-item-control has-success" data-reactid="1077"><div class="ant-input-number ant-input-number-lg" data-reactid="1078"><div class="ant-input-number-handler-wrap" data-reactid="1079"><span unselectable="unselectable" class="ant-input-number-handler ant-input-number-handler-up " data-reactid="1080"><span unselectable="unselectable" class="ant-input-number-handler-up-inner" data-reactid="1081"></span></span><span unselectable="unselectable" class="ant-input-number-handler ant-input-number-handler-down " data-reactid="1082"><span unselectable="unselectable" class="ant-input-number-handler-down-inner" data-reactid="1083"></span></span></div><div class="ant-input-number-input-wrap" data-reactid="1084"><input min="1" max="10" class="ant-input-number-input" autocomplete="off" value="3" data-reactid="1085"/></div></div><span class="ant-form-text" data-reactid="1086"> machines</span></div></div></div><div class="ant-row ant-form-item" data-reactid="1087"><div class="ant-col-6 ant-form-item-label" data-reactid="1088"><label for="switch" class="" title="Switch" data-reactid="1089">Switch</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1090"><div class="ant-form-item-control " data-reactid="1091"><span id="switch" data-__meta="[object Object]" class="ant-switch" tabindex="0" data-reactid="1092"><span class="ant-switch-inner" data-reactid="1093"></span></span></div></div></div><div class="ant-row ant-form-item" data-reactid="1094"><div class="ant-col-6 ant-form-item-label" data-reactid="1095"><label for="slider" class="" title="Slider" data-reactid="1096">Slider</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1097"><div class="ant-form-item-control " data-reactid="1098"><div class="ant-slider ant-slider-with-marks" data-reactid="1099"><div class="ant-slider-rail" data-reactid="1100"></div><div class="ant-slider-track" style="visibility:visible;left:0%;width:0%;" data-reactid="1101"></div><div class="ant-slider-step" data-reactid="1102"><span class="ant-slider-dot ant-slider-dot-active" style="left:0%;" data-reactid="1103"></span><span class="ant-slider-dot" style="left:20%;" data-reactid="1104"></span><span class="ant-slider-dot" style="left:40%;" data-reactid="1105"></span><span class="ant-slider-dot" style="left:60%;" data-reactid="1106"></span><span class="ant-slider-dot" style="left:80%;" data-reactid="1107"></span><span class="ant-slider-dot" style="left:100%;" data-reactid="1108"></span></div><div class="ant-slider-handle" style="left:0%;" data-reactid="1109"></div><div class="ant-slider-mark" data-reactid="1110"><span class="ant-slider-mark-text ant-slider-mark-text-active" style="width:18%;margin-left:-9%;left:0%;" data-reactid="1111">A</span><span class="ant-slider-mark-text" style="width:18%;margin-left:-9%;left:20%;" data-reactid="1112">B</span><span class="ant-slider-mark-text" style="width:18%;margin-left:-9%;left:40%;" data-reactid="1113">C</span><span class="ant-slider-mark-text" style="width:18%;margin-left:-9%;left:60%;" data-reactid="1114">D</span><span class="ant-slider-mark-text" style="width:18%;margin-left:-9%;left:80%;" data-reactid="1115">E</span><span class="ant-slider-mark-text" style="width:18%;margin-left:-9%;left:100%;" data-reactid="1116">F</span></div></div></div></div></div><div class="ant-row ant-form-item" data-reactid="1117"><div class="ant-col-6 ant-form-item-label" data-reactid="1118"><label for="radio-group" class="" title="Radio.Group" data-reactid="1119">Radio.Group</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1120"><div class="ant-form-item-control " data-reactid="1121"><div class="ant-radio-group ant-radio-group-large" data-reactid="1122"><label class="ant-radio-wrapper" data-reactid="1123"><span class="ant-radio" data-reactid="1124"><input type="radio" class="ant-radio-input" data-reactid="1125"/><span class="ant-radio-inner" data-reactid="1126"></span></span><span data-reactid="1127">item 1</span></label><label class="ant-radio-wrapper" data-reactid="1128"><span class="ant-radio" data-reactid="1129"><input type="radio" class="ant-radio-input" data-reactid="1130"/><span class="ant-radio-inner" data-reactid="1131"></span></span><span data-reactid="1132">item 2</span></label><label class="ant-radio-wrapper" data-reactid="1133"><span class="ant-radio" data-reactid="1134"><input type="radio" class="ant-radio-input" data-reactid="1135"/><span class="ant-radio-inner" data-reactid="1136"></span></span><span data-reactid="1137">item 3</span></label></div></div></div></div><div class="ant-row ant-form-item" data-reactid="1138"><div class="ant-col-6 ant-form-item-label" data-reactid="1139"><label for="radio-button" class="" title="Radio.Button" data-reactid="1140">Radio.Button</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1141"><div class="ant-form-item-control " data-reactid="1142"><div class="ant-radio-group ant-radio-group-large" data-reactid="1143"><label class="ant-radio-button-wrapper" data-reactid="1144"><span class="ant-radio-button" data-reactid="1145"><input type="radio" class="ant-radio-button-input" data-reactid="1146"/><span class="ant-radio-button-inner" data-reactid="1147"></span></span><span data-reactid="1148">item 1</span></label><label class="ant-radio-button-wrapper" data-reactid="1149"><span class="ant-radio-button" data-reactid="1150"><input type="radio" class="ant-radio-button-input" data-reactid="1151"/><span class="ant-radio-button-inner" data-reactid="1152"></span></span><span data-reactid="1153">item 2</span></label><label class="ant-radio-button-wrapper" data-reactid="1154"><span class="ant-radio-button" data-reactid="1155"><input type="radio" class="ant-radio-button-input" data-reactid="1156"/><span class="ant-radio-button-inner" data-reactid="1157"></span></span><span data-reactid="1158">item 3</span></label></div></div></div></div><div class="ant-row ant-form-item" data-reactid="1159"><div class="ant-col-6 ant-form-item-label" data-reactid="1160"><label for="upload" class="" title="Upload" data-reactid="1161">Upload</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1162"><div class="ant-form-item-control " data-reactid="1163"><span class="" data-reactid="1164"><div class="ant-upload ant-upload-select ant-upload-select-picture" style="display:;" data-reactid="1165"><!-- react-empty: 1166 --></div><div class="ant-upload-list ant-upload-list-picture" data-reactid="1167"></div></span><div class="ant-form-extra" data-reactid="1168">longgggggggggggggggggggggggggggggggggg</div></div></div></div><div class="ant-row ant-form-item" data-reactid="1169"><div class="ant-col-12 ant-col-offset-6 ant-form-item-control-wrapper" data-reactid="1170"><div class="ant-form-item-control " data-reactid="1171"><button type="submit" class="ant-btn ant-btn-primary ant-btn-lg" data-reactid="1172"><span data-reactid="1173">Submit</span></button></div></div></div></form></section><section class="code-box-meta markdown" data-reactid="1174"><div class="code-box-title" data-reactid="1175"><a href="#components-form-demo-validate-other" data-reactid="1176">Other Form Controls</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/validate-other.md" data-reactid="1177"><i class="anticon anticon-edit" data-reactid="1178"></i></a></div><div data-reactid="1179"><p data-reactid="1180"><!-- react-text: 1181 -->Demostration for validataion configuration for form controls which are not show in the above demos.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="1182"></i></section><section class="highlight-wrapper" data-reactid="1183"><div class="highlight" data-reactid="1184"><i class="anticon anticon-copy code-box-code-copy" data-reactid="1185"></i><pre class="language-jsx" data-reactid="1186"><code data-reactid="1187"><span class="token keyword">import</span> <span class="token punctuation">{</span>
Form<span class="token punctuation">,</span> Select<span class="token punctuation">,</span> InputNumber<span class="token punctuation">,</span> Switch<span class="token punctuation">,</span> Radio<span class="token punctuation">,</span>
Slider<span class="token punctuation">,</span> Button<span class="token punctuation">,</span> Upload<span class="token punctuation">,</span> Icon<span class="token punctuation">,</span>
<span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">const</span> Option <span class="token operator">=</span> Select<span class="token punctuation">.</span>Option<span class="token punctuation">;</span>
<span class="token keyword">const</span> RadioButton <span class="token operator">=</span> Radio<span class="token punctuation">.</span>Button<span class="token punctuation">;</span>
<span class="token keyword">const</span> RadioGroup <span class="token operator">=</span> Radio<span class="token punctuation">.</span>Group<span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">Demo</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
handleSubmit <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
normFile <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>Array<span class="token punctuation">.</span><span class="token function">isArray</span><span class="token punctuation">(</span>e<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> e<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> e <span class="token operator">&amp;&amp;</span> e<span class="token punctuation">.</span>fileList<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">const</span> formItemLayout <span class="token operator">=</span> <span class="token punctuation">{</span>
labelCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">6</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">14</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSubmit<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Nation"</span>
<span class="token operator">></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>span</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ant-form-text<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>China<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>span</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Select"</span>
hasFeedback
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'select'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please select your country!'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Select</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Please</span> <span class="token attr-name">select</span> <span class="token attr-name">a</span> <span class="token attr-name">country"</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>china<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>China<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>use<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>U<span class="token punctuation">.</span>S<span class="token punctuation">.</span>A<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Select</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Select[multiple]"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'select-multiple'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please select your favourite colors!'</span><span class="token punctuation">,</span> type<span class="token punctuation">:</span> <span class="token string">'array'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Select</span> <span class="token attr-name">multiple</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Please</span> <span class="token attr-name">select</span> <span class="token attr-name">favourite</span> <span class="token attr-name">colors"</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>red<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Red<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>green<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Green<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>blue<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Blue<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Select</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"InputNumber"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'input-number'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> initialValue<span class="token punctuation">:</span> <span class="token number">3</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>InputNumber</span> <span class="token attr-name">min</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">1</span><span class="token punctuation">}</span></span> <span class="token attr-name">max</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token number">10</span><span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>span</span> <span class="token attr-name">className</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>ant-form-text<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> machines<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>span</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Switch"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'switch'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> valuePropName<span class="token punctuation">:</span> <span class="token string">'checked'</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Switch</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Slider"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'slider'</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Slider</span> <span class="token attr-name">marks</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> <span class="token number">0</span><span class="token punctuation">:</span> <span class="token string">'A'</span><span class="token punctuation">,</span> <span class="token number">20</span><span class="token punctuation">:</span> <span class="token string">'B'</span><span class="token punctuation">,</span> <span class="token number">40</span><span class="token punctuation">:</span> <span class="token string">'C'</span><span class="token punctuation">,</span> <span class="token number">60</span><span class="token punctuation">:</span> <span class="token string">'D'</span><span class="token punctuation">,</span> <span class="token number">80</span><span class="token punctuation">:</span> <span class="token string">'E'</span><span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">:</span> <span class="token string">'F'</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Radio.Group"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'radio-group'</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>RadioGroup</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>a<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>item <span class="token number">1</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>b<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>item <span class="token number">2</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>c<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>item <span class="token number">3</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>RadioGroup</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Radio.Button"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'radio-button'</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>RadioGroup</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>RadioButton</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>a<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>item <span class="token number">1</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>RadioButton</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>RadioButton</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>b<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>item <span class="token number">2</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>RadioButton</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>RadioButton</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>c<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>item <span class="token number">3</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>RadioButton</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>RadioGroup</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem
<span class="token punctuation">{</span><span class="token operator">...</span>formItemLayout<span class="token punctuation">}</span>
label<span class="token operator">=</span><span class="token string">"Upload"</span>
extra<span class="token operator">=</span><span class="token string">"longgggggggggggggggggggggggggggggggggg"</span>
<span class="token operator">></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'upload'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
valuePropName<span class="token punctuation">:</span> <span class="token string">'fileList'</span><span class="token punctuation">,</span>
getValueFromEvent<span class="token punctuation">:</span> <span class="token keyword">this</span><span class="token punctuation">.</span>normFile<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Upload</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>logo<span class="token punctuation">"</span></span> <span class="token attr-name">action</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>/upload.do<span class="token punctuation">"</span></span> <span class="token attr-name">listType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>picture<span class="token punctuation">"</span></span> <span class="token attr-name">onChange</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleUpload<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Icon</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>upload<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span> Click to upload
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Upload</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">12</span><span class="token punctuation">,</span> offset<span class="token punctuation">:</span> <span class="token number">6</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Submit<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedDemo <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>Demo<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedDemo</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-coordinated" data-reactid="1188"><section class="code-box-demo" data-reactid="1189"><form class="ant-form ant-form-horizontal" data-reactid="1190"><div class="ant-row ant-form-item" data-reactid="1191"><div class="ant-col-4 ant-form-item-label" data-reactid="1192"><label for="note" class="ant-form-item-required" title="Note" data-reactid="1193">Note</label></div><div class="ant-col-8 ant-form-item-control-wrapper" data-reactid="1194"><div class="ant-form-item-control " data-reactid="1195"><input type="text" value="" id="note" data-__meta="[object Object]" class="ant-input ant-input-lg" data-reactid="1196"/></div></div></div><div class="ant-row ant-form-item" data-reactid="1197"><div class="ant-col-4 ant-form-item-label" data-reactid="1198"><label for="gender" class="ant-form-item-required" title="Gender" data-reactid="1199">Gender</label></div><div class="ant-col-8 ant-form-item-control-wrapper" data-reactid="1200"><div class="ant-form-item-control " data-reactid="1201"><div class="ant-select-lg ant-select ant-select-enabled" data-reactid="1202"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0" data-reactid="1203"><div class="ant-select-selection__rendered" data-reactid="1204"><div style="display:block;user-select:none;-webkit-user-select:none;" unselectable="unselectable" class="ant-select-selection__placeholder" data-reactid="1205">Select a option and change input text above</div></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="1206"><b data-reactid="1207"></b></span></div></div></div></div></div><div class="ant-row ant-form-item" data-reactid="1208"><div class="ant-col-8 ant-col-offset-4 ant-form-item-control-wrapper" data-reactid="1209"><div class="ant-form-item-control " data-reactid="1210"><button type="submit" class="ant-btn ant-btn-primary ant-btn-lg" data-reactid="1211"><span data-reactid="1212">Submit</span></button></div></div></div></form></section><section class="code-box-meta markdown" data-reactid="1213"><div class="code-box-title" data-reactid="1214"><a href="#components-form-demo-coordinated" data-reactid="1215">Coordinated Controls</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/coordinated.md" data-reactid="1216"><i class="anticon anticon-edit" data-reactid="1217"></i></a></div><div data-reactid="1218"><p data-reactid="1219"><!-- react-text: 1220 -->Use <!-- /react-text --><code data-reactid="1221"><!-- react-text: 1222 -->setFieldsValue<!-- /react-text --></code><!-- react-text: 1223 --> to set other control&#x27;s value programmaticly.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="1224"></i></section><section class="highlight-wrapper" data-reactid="1225"><div class="highlight" data-reactid="1226"><i class="anticon anticon-copy code-box-code-copy" data-reactid="1227"></i><pre class="language-jsx" data-reactid="1228"><code data-reactid="1229"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Select<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Button <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">const</span> Option <span class="token operator">=</span> Select<span class="token punctuation">.</span>Option<span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">App</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
handleSubmit <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
e<span class="token punctuation">.</span><span class="token function">preventDefault</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">validateFields</span><span class="token punctuation">(</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> values<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>err<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'Received values of form: '</span><span class="token punctuation">,</span> values<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleSelectChange <span class="token operator">=</span> <span class="token punctuation">(</span>value<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">.</span><span class="token function">setFieldsValue</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
note<span class="token punctuation">:</span> <span class="token template-string"><span class="token string">`Hi, </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>value <span class="token operator">===</span> <span class="token string">'male'</span> <span class="token operator">?</span> <span class="token string">'man'</span> <span class="token punctuation">:</span> <span class="token string">'lady'</span><span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">!`</span></span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> getFieldDecorator <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>form<span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">onSubmit</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleSubmit<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Note<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">8</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'note'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please input your note!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Input</span> <span class="token punctuation">/></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Gender<span class="token punctuation">"</span></span>
<span class="token attr-name">labelCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">8</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token punctuation">{</span><span class="token function">getFieldDecorator</span><span class="token punctuation">(</span><span class="token string">'gender'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
rules<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> required<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> message<span class="token punctuation">:</span> <span class="token string">'Please select your gender!'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
onChange<span class="token punctuation">:</span> <span class="token keyword">this</span><span class="token punctuation">.</span>handleSelectChange<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Select</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Select</span> <span class="token attr-name">a</span> <span class="token attr-name">option</span> <span class="token attr-name">and</span> <span class="token attr-name">change</span> <span class="token attr-name">input</span> <span class="token attr-name">text</span> <span class="token attr-name">above"</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>male<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>male<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Option</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>female<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>female<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Option</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Select</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">}</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">wrapperCol</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">8</span><span class="token punctuation">,</span> offset<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">htmlType</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>submit<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
Submit
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> WrappedApp <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">(</span>App<span class="token punctuation">)</span><span class="token punctuation">;</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>WrappedApp</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section><section class="code-box" id="components-form-demo-layout" data-reactid="1230"><section class="code-box-demo" data-reactid="1231"><div data-reactid="1232"><form class="ant-form ant-form-horizontal" data-reactid="1233"><div class="ant-row ant-form-item" data-reactid="1234"><div class="ant-col-4 ant-form-item-label" data-reactid="1235"><label class="" title="Form Layout" data-reactid="1236">Form Layout</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1237"><div class="ant-form-item-control " data-reactid="1238"><div class="ant-radio-group ant-radio-group-large" data-reactid="1239"><label class="ant-radio-button-wrapper ant-radio-button-wrapper-checked" data-reactid="1240"><span class="ant-radio-button ant-radio-button-checked" data-reactid="1241"><input type="radio" class="ant-radio-button-input" checked="" data-reactid="1242"/><span class="ant-radio-button-inner" data-reactid="1243"></span></span><span data-reactid="1244">Horizontal</span></label><label class="ant-radio-button-wrapper" data-reactid="1245"><span class="ant-radio-button" data-reactid="1246"><input type="radio" class="ant-radio-button-input" data-reactid="1247"/><span class="ant-radio-button-inner" data-reactid="1248"></span></span><span data-reactid="1249">Vertical</span></label><label class="ant-radio-button-wrapper" data-reactid="1250"><span class="ant-radio-button" data-reactid="1251"><input type="radio" class="ant-radio-button-input" data-reactid="1252"/><span class="ant-radio-button-inner" data-reactid="1253"></span></span><span data-reactid="1254">Inline</span></label></div></div></div></div><div class="ant-row ant-form-item" data-reactid="1255"><div class="ant-col-4 ant-form-item-label" data-reactid="1256"><label class="" title="Field A" data-reactid="1257">Field A</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1258"><div class="ant-form-item-control " data-reactid="1259"><input type="text" placeholder="input placeholder" class="ant-input ant-input-lg" data-reactid="1260"/></div></div></div><div class="ant-row ant-form-item" data-reactid="1261"><div class="ant-col-4 ant-form-item-label" data-reactid="1262"><label class="" title="Field B" data-reactid="1263">Field B</label></div><div class="ant-col-14 ant-form-item-control-wrapper" data-reactid="1264"><div class="ant-form-item-control " data-reactid="1265"><input type="text" placeholder="input placeholder" class="ant-input ant-input-lg" data-reactid="1266"/></div></div></div><div class="ant-row ant-form-item" data-reactid="1267"><div class="ant-col-14 ant-col-offset-4 ant-form-item-control-wrapper" data-reactid="1268"><div class="ant-form-item-control " data-reactid="1269"><button type="button" class="ant-btn ant-btn-primary ant-btn-lg" data-reactid="1270"><span data-reactid="1271">Submit</span></button></div></div></div></form></div></section><section class="code-box-meta markdown" data-reactid="1272"><div class="code-box-title" data-reactid="1273"><a href="#components-form-demo-layout" data-reactid="1274">Form Layout</a><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/components/form/demo/layout.md" data-reactid="1275"><i class="anticon anticon-edit" data-reactid="1276"></i></a></div><div data-reactid="1277"><p data-reactid="1278"><!-- react-text: 1279 -->There are three layout for form: <!-- /react-text --><code data-reactid="1280"><!-- react-text: 1281 -->horizontal<!-- /react-text --></code><!-- react-text: 1282 -->, <!-- /react-text --><code data-reactid="1283"><!-- react-text: 1284 -->vertical<!-- /react-text --></code><!-- react-text: 1285 -->, <!-- /react-text --><code data-reactid="1286"><!-- react-text: 1287 -->inline<!-- /react-text --></code><!-- react-text: 1288 -->.<!-- /react-text --></p></div><i title="Show Code" class="anticon anticon-down-circle-o collapse" data-reactid="1289"></i></section><section class="highlight-wrapper" data-reactid="1290"><div class="highlight" data-reactid="1291"><i class="anticon anticon-copy code-box-code-copy" data-reactid="1292"></i><pre class="language-jsx" data-reactid="1293"><code data-reactid="1294"><span class="token keyword">import</span> <span class="token punctuation">{</span> Form<span class="token punctuation">,</span> Input<span class="token punctuation">,</span> Button<span class="token punctuation">,</span> Radio <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> FormItem <span class="token operator">=</span> Form<span class="token punctuation">.</span>Item<span class="token punctuation">;</span>
<span class="token keyword">class</span> <span class="token class-name">FormLayoutDemo</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span>
<span class="token function">constructor</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">super</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>state <span class="token operator">=</span> <span class="token punctuation">{</span>
formLayout<span class="token punctuation">:</span> <span class="token string">'horizontal'</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
handleFormLayoutChange <span class="token operator">=</span> <span class="token punctuation">(</span>e<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token punctuation">{</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span> formLayout<span class="token punctuation">:</span> e<span class="token punctuation">.</span>target<span class="token punctuation">.</span>value <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span> formLayout <span class="token punctuation">}</span> <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">;</span>
<span class="token keyword">const</span> formItemLayout <span class="token operator">=</span> formLayout <span class="token operator">===</span> <span class="token string">'horizontal'</span> <span class="token operator">?</span> <span class="token punctuation">{</span>
labelCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">14</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span> <span class="token punctuation">:</span> <span class="token keyword">null</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> buttonItemLayout <span class="token operator">=</span> formLayout <span class="token operator">===</span> <span class="token string">'horizontal'</span> <span class="token operator">?</span> <span class="token punctuation">{</span>
wrapperCol<span class="token punctuation">:</span> <span class="token punctuation">{</span> span<span class="token punctuation">:</span> <span class="token number">14</span><span class="token punctuation">,</span> offset<span class="token punctuation">:</span> <span class="token number">4</span> <span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span> <span class="token punctuation">:</span> <span class="token keyword">null</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token punctuation">(</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Form</span> <span class="token attr-name">layout</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span>formLayout<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Form</span> <span class="token attr-name">Layout"</span>
<span class="token attr-name">{...formItemLayout}</span>
<span class="token punctuation">></span>
<span class="token attr-name">&lt;Radio.Group</span> <span class="token attr-name">defaultValue</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>horizontal<span class="token punctuation">"</span></span> <span class="token attr-name">onChange</span><span class="token script language-javascript"><span class="token punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleFormLayoutChange<span class="token punctuation">}</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio.Button</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>horizontal<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Horizontal<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio.Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio.Button</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>vertical<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Vertical<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio.Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Radio.Button</span> <span class="token attr-name">value</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>inline<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Inline<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio.Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Radio.Group</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Field</span> <span class="token attr-name">A"</span>
<span class="token attr-name">{...formItemLayout}</span>
<span class="token punctuation">></span>
<span class="token attr-name">&lt;Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>input</span> <span class="token attr-name">placeholder"</span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
<span class="token attr-name">label</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>Field</span> <span class="token attr-name">B"</span>
<span class="token attr-name">{...formItemLayout}</span>
<span class="token punctuation">></span>
<span class="token attr-name">&lt;Input</span> <span class="token attr-name">placeholder</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>input</span> <span class="token attr-name">placeholder"</span> <span class="token punctuation">/></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token operator">&lt;</span>FormItem <span class="token punctuation">{</span><span class="token operator">...</span>buttonItemLayout<span class="token punctuation">}</span><span class="token operator">></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>Button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span> <span class="token attr-name">size</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>large<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Submit<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Button</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>FormItem</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>Form</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">></span></span>
<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
ReactDOM<span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormLayoutDemo</span> <span class="token punctuation">/></span></span><span class="token punctuation">,</span> mountNode<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre></div></section></section></div></div><section class="markdown api-container" data-reactid="1295"><h2 id="API" data-reactid="1296"><span data-reactid="1297"><!-- react-text: 1298 -->API<!-- /react-text --></span><a href="#API" class="anchor" data-reactid="1299">#</a></h2><h3 id="Form" data-reactid="1300"><span data-reactid="1301"><!-- react-text: 1302 -->Form<!-- /react-text --></span><a href="#Form" class="anchor" data-reactid="1303">#</a></h3><p data-reactid="1304"><strong data-reactid="1305"><!-- react-text: 1306 -->more example <!-- /react-text --><a href="http://react-component.github.io/form/" data-reactid="1307"><!-- react-text: 1308 -->rc-form<!-- /react-text --></a></strong><!-- react-text: 1309 --><!-- /react-text --></p><table data-reactid="1310"><thead data-reactid="1311"><tr data-reactid="1312"><th data-reactid="1313"><!-- react-text: 1314 -->Property<!-- /react-text --></th><th data-reactid="1315"><!-- react-text: 1316 -->Description<!-- /react-text --></th><th data-reactid="1317"><!-- react-text: 1318 -->Type<!-- /react-text --></th><th data-reactid="1319"><!-- react-text: 1320 -->Default Value<!-- /react-text --></th></tr></thead><tbody data-reactid="1321"><tr data-reactid="1322"><td data-reactid="1323"><!-- react-text: 1324 -->form<!-- /react-text --></td><td data-reactid="1325"><!-- react-text: 1326 -->Decorated by <!-- /react-text --><code data-reactid="1327"><!-- react-text: 1328 -->Form.create()<!-- /react-text --></code><!-- react-text: 1329 --> will be automatically set <!-- /react-text --><code data-reactid="1330"><!-- react-text: 1331 -->this.props.form<!-- /react-text --></code><!-- react-text: 1332 --> property, so just pass to form, you don&#x27;t need to set it by yourself after 1.7.0.<!-- /react-text --></td><td data-reactid="1333"><!-- react-text: 1334 -->object<!-- /react-text --></td><td data-reactid="1335"><!-- react-text: 1336 -->n/a<!-- /react-text --></td></tr><tr data-reactid="1337"><td data-reactid="1338"><!-- react-text: 1339 -->layout<!-- /react-text --></td><td data-reactid="1340"><!-- react-text: 1341 -->Define form layout(Support after 2.8)<!-- /react-text --></td><td data-reactid="1342"><!-- react-text: 1343 -->&#x27;horizontal&#x27;<!-- /react-text --><!-- react-text: 1344 -->|<!-- /react-text --><!-- react-text: 1345 -->&#x27;vertical&#x27;<!-- /react-text --><!-- react-text: 1346 -->|<!-- /react-text --><!-- react-text: 1347 -->&#x27;inline&#x27;<!-- /react-text --></td><td data-reactid="1348"><!-- react-text: 1349 -->&#x27;horizontal&#x27;<!-- /react-text --></td></tr><tr data-reactid="1350"><td data-reactid="1351"><!-- react-text: 1352 -->horizontal<!-- /react-text --></td><td data-reactid="1353"><!-- react-text: 1354 -->Use horizontal layout(Deprecated after 2.8)<!-- /react-text --></td><td data-reactid="1355"><!-- react-text: 1356 -->boolean<!-- /react-text --></td><td data-reactid="1357"><!-- react-text: 1358 -->true<!-- /react-text --></td></tr><tr data-reactid="1359"><td data-reactid="1360"><!-- react-text: 1361 -->vertical<!-- /react-text --></td><td data-reactid="1362"><!-- react-text: 1363 -->Use vertical layout(Deprecated after 2.8)<!-- /react-text --></td><td data-reactid="1364"><!-- react-text: 1365 -->boolean<!-- /react-text --></td><td data-reactid="1366"><!-- react-text: 1367 -->false<!-- /react-text --></td></tr><tr data-reactid="1368"><td data-reactid="1369"><!-- react-text: 1370 -->inline<!-- /react-text --></td><td data-reactid="1371"><!-- react-text: 1372 -->Use inline alignment(Deprecated after 2.8)<!-- /react-text --></td><td data-reactid="1373"><!-- react-text: 1374 -->boolean<!-- /react-text --></td><td data-reactid="1375"><!-- react-text: 1376 -->false<!-- /react-text --></td></tr><tr data-reactid="1377"><td data-reactid="1378"><!-- react-text: 1379 -->onSubmit<!-- /react-text --></td><td data-reactid="1380"><!-- react-text: 1381 -->Defines a function will be called if form data validation is successful.<!-- /react-text --></td><td data-reactid="1382"><!-- react-text: 1383 -->Function(e:Event)<!-- /react-text --></td><td data-reactid="1384"></td></tr><tr data-reactid="1385"><td data-reactid="1386"><!-- react-text: 1387 -->hideRequiredMark<!-- /react-text --></td><td data-reactid="1388"><!-- react-text: 1389 -->Hide required mark of all form items<!-- /react-text --></td><td data-reactid="1390"><!-- react-text: 1391 -->Boolean<!-- /react-text --></td><td data-reactid="1392"><!-- react-text: 1393 -->false<!-- /react-text --></td></tr></tbody></table><h3 id="Form.create(options)" data-reactid="1394"><span data-reactid="1395"><!-- react-text: 1396 -->Form.create(options)<!-- /react-text --></span><a href="#Form.create(options)" class="anchor" data-reactid="1397">#</a></h3><p data-reactid="1398"><!-- react-text: 1399 -->How to use<!-- /react-text --></p><pre class="language-jsx" data-reactid="1400"><code data-reactid="1401"><span class="token keyword">class</span> <span class="token class-name">CustomizedForm</span> <span class="token keyword">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
CustomizedForm <span class="token operator">=</span> Form<span class="token punctuation">.</span><span class="token function">create</span><span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span>CustomizedForm<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre><p data-reactid="1402"><!-- react-text: 1403 -->The following <!-- /react-text --><code data-reactid="1404"><!-- react-text: 1405 -->options<!-- /react-text --></code><!-- react-text: 1406 --> are available:<!-- /react-text --></p><table data-reactid="1407"><thead data-reactid="1408"><tr data-reactid="1409"><th data-reactid="1410"><!-- react-text: 1411 -->Property<!-- /react-text --></th><th data-reactid="1412"><!-- react-text: 1413 -->Description<!-- /react-text --></th><th data-reactid="1414"><!-- react-text: 1415 -->Type<!-- /react-text --></th></tr></thead><tbody data-reactid="1416"><tr data-reactid="1417"><td data-reactid="1418"><!-- react-text: 1419 -->onFieldsChange<!-- /react-text --></td><td data-reactid="1420"><!-- react-text: 1421 -->Specify a function that will be called when the value a <!-- /react-text --><code data-reactid="1422"><!-- react-text: 1423 -->Form.Item<!-- /react-text --></code><!-- react-text: 1424 --> gets changed. Usage example: saving the field&#x27;s value to Redux store.<!-- /react-text --></td><td data-reactid="1425"><!-- react-text: 1426 -->Function(props, fields)<!-- /react-text --></td></tr><tr data-reactid="1427"><td data-reactid="1428"><!-- react-text: 1429 -->mapPropsToFields<!-- /react-text --></td><td data-reactid="1430"><!-- react-text: 1431 -->Convert props to corresponding field value. Usage example: reading the values from Redux store.<!-- /react-text --></td><td data-reactid="1432"><!-- react-text: 1433 -->Function(props): Object{ fieldName: Object{ value } }<!-- /react-text --></td></tr><tr data-reactid="1434"><td data-reactid="1435"><!-- react-text: 1436 -->onValuesChange<!-- /react-text --></td><td data-reactid="1437"><!-- react-text: 1438 -->A handler while value of any field is changed<!-- /react-text --></td><td data-reactid="1439"><!-- react-text: 1440 -->(props, values) =&gt; void<!-- /react-text --></td></tr></tbody></table><p data-reactid="1441"><!-- react-text: 1442 -->If the form has been decorated by <!-- /react-text --><code data-reactid="1443"><!-- react-text: 1444 -->Form.create<!-- /react-text --></code><!-- react-text: 1445 --> then it has <!-- /react-text --><code data-reactid="1446"><!-- react-text: 1447 -->this.props.form<!-- /react-text --></code><!-- react-text: 1448 --> property. <!-- /react-text --><code data-reactid="1449"><!-- react-text: 1450 -->this.props.form<!-- /react-text --></code><!-- react-text: 1451 --> provides some APIs as follows:<!-- /react-text --></p><blockquote data-reactid="1452"><p data-reactid="1453"><!-- react-text: 1454 -->Note: Before using <!-- /react-text --><code data-reactid="1455"><!-- react-text: 1456 -->getFieldsValue<!-- /react-text --></code><!-- react-text: 1457 --> <!-- /react-text --><code data-reactid="1458"><!-- react-text: 1459 -->getFieldValue<!-- /react-text --></code><!-- react-text: 1460 --> <!-- /react-text --><code data-reactid="1461"><!-- react-text: 1462 -->setFieldsValue<!-- /react-text --></code><!-- react-text: 1463 --> and so on, please make sure that corresponding field had been registered with <!-- /react-text --><code data-reactid="1464"><!-- react-text: 1465 -->getFieldDecorator<!-- /react-text --></code><!-- react-text: 1466 -->.<!-- /react-text --></p></blockquote><table data-reactid="1467"><thead data-reactid="1468"><tr data-reactid="1469"><th data-reactid="1470"><!-- react-text: 1471 -->Property<!-- /react-text --></th><th data-reactid="1472"><!-- react-text: 1473 -->Description<!-- /react-text --></th><th data-reactid="1474"><!-- react-text: 1475 -->Type<!-- /react-text --></th></tr></thead><tbody data-reactid="1476"><tr data-reactid="1477"><td data-reactid="1478"><!-- react-text: 1479 -->getFieldsValue<!-- /react-text --></td><td data-reactid="1480"><!-- react-text: 1481 -->Get the specified fields&#x27; values. If you don&#x27;t specify a parameter, you will get all fields&#x27; values.<!-- /react-text --></td><td data-reactid="1482"><!-- react-text: 1483 -->Function([fieldNames: string[]])<!-- /react-text --></td></tr><tr data-reactid="1484"><td data-reactid="1485"><!-- react-text: 1486 -->getFieldValue<!-- /react-text --></td><td data-reactid="1487"><!-- react-text: 1488 -->Get the value of a field.<!-- /react-text --></td><td data-reactid="1489"><!-- react-text: 1490 -->Function(fieldName: string)<!-- /react-text --></td></tr><tr data-reactid="1491"><td data-reactid="1492"><!-- react-text: 1493 -->setFieldsValue<!-- /react-text --></td><td data-reactid="1494"><!-- react-text: 1495 -->Set the value of a field.(Note: please don&#x27;t use it in <!-- /react-text --><code data-reactid="1496"><!-- react-text: 1497 -->componentWillReceiveProps<!-- /react-text --></code><!-- react-text: 1498 -->, otherwise, it will cause an endless loop, <!-- /react-text --><a href="https://github.com/ant-design/ant-design/issues/2985" data-reactid="1499"><!-- react-text: 1500 -->more<!-- /react-text --></a><!-- react-text: 1501 -->)<!-- /react-text --></td><td data-reactid="1502"><!-- react-text: 1503 -->Function({ <!-- /react-text --><!-- react-text: 1504 -->[fieldname]<!-- /react-text --><!-- react-text: 1505 -->: value }<!-- /react-text --></td></tr><tr data-reactid="1506"><td data-reactid="1507"><!-- react-text: 1508 -->setFields<!-- /react-text --></td><td data-reactid="1509"></td><td data-reactid="1510"><!-- react-text: 1511 -->Function(obj: object)<!-- /react-text --></td></tr><tr data-reactid="1512"><td data-reactid="1513"><!-- react-text: 1514 -->setFields<!-- /react-text --></td><td data-reactid="1515"><!-- react-text: 1516 -->Set the value and error of a field. <!-- /react-text --><a href="https://github.com/react-component/form/blob/3b9959b57ab30b41d8890ff30c79a7e7c383cad3/examples/server-validate.js#L74-L79" data-reactid="1517"><!-- react-text: 1518 -->Code Sample<!-- /react-text --></a></td><td data-reactid="1519"><!-- react-text: 1520 -->Function({ <!-- /react-text --><!-- react-text: 1521 -->[fieldname]<!-- /react-text --><!-- react-text: 1522 -->: { value: any, errors: <!-- /react-text --><!-- react-text: 1523 -->[error]<!-- /react-text --><!-- react-text: 1524 --> } })<!-- /react-text --></td></tr><tr data-reactid="1525"><td data-reactid="1526"><!-- react-text: 1527 -->validateFields<!-- /react-text --></td><td data-reactid="1528"><!-- react-text: 1529 -->Validate the specified fields and get theirs values and errors. If you don&#x27;t specify the parameter of fieldNames, you will vaildate all fields.<!-- /react-text --></td><td data-reactid="1530"><!-- react-text: 1531 -->Function([fieldNames: string[]], <!-- /react-text --><!-- react-text: 1532 -->[options: object]<!-- /react-text --><!-- react-text: 1533 -->, callback: Function(errors, values))<!-- /react-text --></td></tr><tr data-reactid="1534"><td data-reactid="1535"><!-- react-text: 1536 -->validateFieldsAndScroll<!-- /react-text --></td><td data-reactid="1537"><!-- react-text: 1538 -->This function is similar to <!-- /react-text --><code data-reactid="1539"><!-- react-text: 1540 -->validateFields<!-- /react-text --></code><!-- react-text: 1541 -->, but after validation, if the target field is not in visible area of form, form will be automatically scrolled to the target field area.<!-- /react-text --></td><td data-reactid="1542"><!-- react-text: 1543 -->same as <!-- /react-text --><code data-reactid="1544"><!-- react-text: 1545 -->validateFields<!-- /react-text --></code></td></tr><tr data-reactid="1546"><td data-reactid="1547"><!-- react-text: 1548 -->getFieldError<!-- /react-text --></td><td data-reactid="1549"><!-- react-text: 1550 -->Get the error of a field.<!-- /react-text --></td><td data-reactid="1551"><!-- react-text: 1552 -->Function(name)<!-- /react-text --></td></tr><tr data-reactid="1553"><td data-reactid="1554"><!-- react-text: 1555 -->getFieldsError<!-- /react-text --></td><td data-reactid="1556"><!-- react-text: 1557 -->Get the specified fields&#x27; error. If you don&#x27;t specify a parameter, you will get all fields&#x27; error.<!-- /react-text --></td><td data-reactid="1558"><!-- react-text: 1559 -->Function([names: string[]])<!-- /react-text --></td></tr><tr data-reactid="1560"><td data-reactid="1561"><!-- react-text: 1562 -->isFieldValidating<!-- /react-text --></td><td data-reactid="1563"><!-- react-text: 1564 -->Check if the specified field is being validated.<!-- /react-text --></td><td data-reactid="1565"><!-- react-text: 1566 -->Function(name)<!-- /react-text --></td></tr><tr data-reactid="1567"><td data-reactid="1568"><!-- react-text: 1569 -->isFieldTouched<!-- /react-text --></td><td data-reactid="1570"><!-- react-text: 1571 -->Check whether a field is touched by <!-- /react-text --><code data-reactid="1572"><!-- react-text: 1573 -->getFieldDecorator<!-- /react-text --></code><!-- react-text: 1574 -->&#x27;s <!-- /react-text --><code data-reactid="1575"><!-- react-text: 1576 -->options.trigger<!-- /react-text --></code><!-- react-text: 1577 --> event<!-- /react-text --></td><td data-reactid="1578"><!-- react-text: 1579 -->(name: string) =&gt; boolean<!-- /react-text --></td></tr><tr data-reactid="1580"><td data-reactid="1581"><!-- react-text: 1582 -->isFieldsTouched<!-- /react-text --></td><td data-reactid="1583"><!-- react-text: 1584 -->Check whether any of fields is touched by <!-- /react-text --><code data-reactid="1585"><!-- react-text: 1586 -->getFieldDecorator<!-- /react-text --></code><!-- react-text: 1587 -->&#x27;s <!-- /react-text --><code data-reactid="1588"><!-- react-text: 1589 -->options.trigger<!-- /react-text --></code><!-- react-text: 1590 --> event<!-- /react-text --></td><td data-reactid="1591"><!-- react-text: 1592 -->(names?: string[]) =&gt; boolean<!-- /react-text --></td></tr><tr data-reactid="1593"><td data-reactid="1594"><!-- react-text: 1595 -->resetFields<!-- /react-text --></td><td data-reactid="1596"><!-- react-text: 1597 -->Reset the specified fields&#x27; value(to <!-- /react-text --><code data-reactid="1598"><!-- react-text: 1599 -->initialValue<!-- /react-text --></code><!-- react-text: 1600 -->) and status. If you don&#x27;t specify a parameter, all the fields will be reset.<!-- /react-text --></td><td data-reactid="1601"><!-- react-text: 1602 -->Function([names: string[]])<!-- /react-text --></td></tr><tr data-reactid="1603"><td data-reactid="1604"><!-- react-text: 1605 -->getFieldDecorator<!-- /react-text --></td><td data-reactid="1606"><!-- react-text: 1607 -->Two-way binding for form, please read below for details.<!-- /react-text --></td><td data-reactid="1608"></td></tr></tbody></table><h3 id="this.props.form.getFieldDecorator(id,-options)" data-reactid="1609"><span data-reactid="1610"><!-- react-text: 1611 -->this.props.form.getFieldDecorator(id, options)<!-- /react-text --></span><a href="#this.props.form.getFieldDecorator(id,-options)" class="anchor" data-reactid="1612">#</a></h3><p data-reactid="1613"><!-- react-text: 1614 -->After wrapped by <!-- /react-text --><code data-reactid="1615"><!-- react-text: 1616 -->getFieldDecorator<!-- /react-text --></code><!-- react-text: 1617 -->, <!-- /react-text --><code data-reactid="1618"><!-- react-text: 1619 -->value<!-- /react-text --></code><!-- react-text: 1620 -->(or other property defined by <!-- /react-text --><code data-reactid="1621"><!-- react-text: 1622 -->valuePropName<!-- /react-text --></code><!-- react-text: 1623 -->) <!-- /react-text --><code data-reactid="1624"><!-- react-text: 1625 -->onChange<!-- /react-text --></code><!-- react-text: 1626 -->(or other property defined by <!-- /react-text --><code data-reactid="1627"><!-- react-text: 1628 -->trigger<!-- /react-text --></code><!-- react-text: 1629 -->) props will be added to form controlsthe flow of form data will be handled by Form which will cause:<!-- /react-text --></p><ol data-reactid="1630"><li data-reactid="1631"><p data-reactid="1632"><!-- react-text: 1633 -->You don&#x27;t need to use <!-- /react-text --><code data-reactid="1634"><!-- react-text: 1635 -->onChange<!-- /react-text --></code><!-- react-text: 1636 --> to collect data, but you still can listen to <!-- /react-text --><code data-reactid="1637"><!-- react-text: 1638 -->onChange<!-- /react-text --></code><!-- react-text: 1639 -->(and so on) events.<!-- /react-text --></p></li><li data-reactid="1640"><p data-reactid="1641"><!-- react-text: 1642 -->You can not set value of form control via <!-- /react-text --><code data-reactid="1643"><!-- react-text: 1644 -->value<!-- /react-text --></code><!-- react-text: 1645 --> <!-- /react-text --><code data-reactid="1646"><!-- react-text: 1647 -->defaultValue<!-- /react-text --></code><!-- react-text: 1648 --> prop, and you should set default value with <!-- /react-text --><code data-reactid="1649"><!-- react-text: 1650 -->initialValue<!-- /react-text --></code><!-- react-text: 1651 --> in <!-- /react-text --><code data-reactid="1652"><!-- react-text: 1653 -->getFieldDecorator<!-- /react-text --></code><!-- react-text: 1654 --> instead.<!-- /react-text --></p></li><li data-reactid="1655"><p data-reactid="1656"><!-- react-text: 1657 -->You don&#x27;t need to call <!-- /react-text --><code data-reactid="1658"><!-- react-text: 1659 -->setState<!-- /react-text --></code><!-- react-text: 1660 --> manually, please use <!-- /react-text --><code data-reactid="1661"><!-- react-text: 1662 -->this.props.form.setFieldsValue<!-- /react-text --></code><!-- react-text: 1663 --> to change value programmatically.<!-- /react-text --></p></li></ol><h4 id="Special-attention" data-reactid="1664"><span data-reactid="1665"><!-- react-text: 1666 -->Special attention<!-- /react-text --></span><a href="#Special-attention" class="anchor" data-reactid="1667">#</a></h4><p data-reactid="1668"><!-- react-text: 1669 -->If you use <!-- /react-text --><code data-reactid="1670"><!-- react-text: 1671 -->react@&lt;15.3.0<!-- /react-text --></code><!-- react-text: 1672 -->, then, you can&#x27;t use <!-- /react-text --><code data-reactid="1673"><!-- react-text: 1674 -->getFieldDecorator<!-- /react-text --></code><!-- react-text: 1675 --> in stateless component: <!-- /react-text --><a href="https://github.com/facebook/react/pull/6534" data-reactid="1676"><!-- react-text: 1677 -->https://github.com/facebook/react/pull/6534<!-- /react-text --></a></p><h4 id="getFieldDecorator(id,-options)-parameters" data-reactid="1678"><span data-reactid="1679"><!-- react-text: 1680 -->getFieldDecorator(id, options) parameters<!-- /react-text --></span><a href="#getFieldDecorator(id,-options)-parameters" class="anchor" data-reactid="1681">#</a></h4><table data-reactid="1682"><thead data-reactid="1683"><tr data-reactid="1684"><th data-reactid="1685"><!-- react-text: 1686 -->Property<!-- /react-text --></th><th data-reactid="1687"><!-- react-text: 1688 -->Description<!-- /react-text --></th><th data-reactid="1689"><!-- react-text: 1690 -->Type<!-- /react-text --></th><th data-reactid="1691"><!-- react-text: 1692 -->Default Value<!-- /react-text --></th></tr></thead><tbody data-reactid="1693"><tr data-reactid="1694"><td data-reactid="1695"><!-- react-text: 1696 -->id<!-- /react-text --></td><td data-reactid="1697"><!-- react-text: 1698 -->The unique identifier is required. support <!-- /react-text --><a href="https://github.com/react-component/form/pull/48" data-reactid="1699"><!-- react-text: 1700 -->nested fields format<!-- /react-text --></a><!-- react-text: 1701 -->.<!-- /react-text --></td><td data-reactid="1702"><!-- react-text: 1703 -->string<!-- /react-text --></td><td data-reactid="1704"></td></tr><tr data-reactid="1705"><td data-reactid="1706"><!-- react-text: 1707 -->options.valuePropName<!-- /react-text --></td><td data-reactid="1708"><!-- react-text: 1709 -->Props of children node, for example, the prop of Switch is &#x27;checked&#x27;.<!-- /react-text --></td><td data-reactid="1710"><!-- react-text: 1711 -->string<!-- /react-text --></td><td data-reactid="1712"><!-- react-text: 1713 -->&#x27;value&#x27;<!-- /react-text --></td></tr><tr data-reactid="1714"><td data-reactid="1715"><!-- react-text: 1716 -->options.initialValue<!-- /react-text --></td><td data-reactid="1717"><!-- react-text: 1718 -->You can specify initial value, type, optional value of children node. (Note: Because <!-- /react-text --><code data-reactid="1719"><!-- react-text: 1720 -->Form<!-- /react-text --></code><!-- react-text: 1721 --> will test equality with <!-- /react-text --><code data-reactid="1722"><!-- react-text: 1723 -->===<!-- /react-text --></code><!-- react-text: 1724 --> internaly, we recommend to use vairable as <!-- /react-text --><code data-reactid="1725"><!-- react-text: 1726 -->initialValue<!-- /react-text --></code><!-- react-text: 1727 -->, instead of literal)<!-- /react-text --></td><td data-reactid="1728"></td><td data-reactid="1729"><!-- react-text: 1730 -->n/a<!-- /react-text --></td></tr><tr data-reactid="1731"><td data-reactid="1732"><!-- react-text: 1733 -->options.trigger<!-- /react-text --></td><td data-reactid="1734"><!-- react-text: 1735 -->When to collect the value of children node<!-- /react-text --></td><td data-reactid="1736"><!-- react-text: 1737 -->string<!-- /react-text --></td><td data-reactid="1738"><!-- react-text: 1739 -->&#x27;onChange&#x27;<!-- /react-text --></td></tr><tr data-reactid="1740"><td data-reactid="1741"><!-- react-text: 1742 -->options.getValueFromEvent<!-- /react-text --></td><td data-reactid="1743"><!-- react-text: 1744 -->To convert parameters of onChange to the value of control<!-- /react-text --></td><td data-reactid="1745"><!-- react-text: 1746 -->function(..args)<!-- /react-text --></td><td data-reactid="1747"><a href="https://github.com/react-component/form#optiongetvaluefromevent" data-reactid="1748"><!-- react-text: 1749 -->reference<!-- /react-text --></a></td></tr><tr data-reactid="1750"><td data-reactid="1751"><!-- react-text: 1752 -->options.validateTrigger<!-- /react-text --></td><td data-reactid="1753"><!-- react-text: 1754 -->When to validate the value of children node.<!-- /react-text --></td><td data-reactid="1755"><!-- react-text: 1756 -->string<!-- /react-text --><!-- react-text: 1757 -->|<!-- /react-text --><!-- react-text: 1758 -->string[]<!-- /react-text --></td><td data-reactid="1759"><!-- react-text: 1760 -->&#x27;onChange&#x27;<!-- /react-text --></td></tr><tr data-reactid="1761"><td data-reactid="1762"><!-- react-text: 1763 -->options.rules<!-- /react-text --></td><td data-reactid="1764"><!-- react-text: 1765 -->Includes validation rules. Please refer to &quot;Validation Rules&quot; part for details.<!-- /react-text --></td><td data-reactid="1766"><!-- react-text: 1767 -->object[]<!-- /react-text --></td><td data-reactid="1768"><!-- react-text: 1769 -->n/a<!-- /react-text --></td></tr><tr data-reactid="1770"><td data-reactid="1771"><!-- react-text: 1772 -->options.exclusive<!-- /react-text --></td><td data-reactid="1773"><!-- react-text: 1774 -->Whether it is exclusive with other controls, particularly for Radio.<!-- /react-text --></td><td data-reactid="1775"><!-- react-text: 1776 -->boolean<!-- /react-text --></td><td data-reactid="1777"><!-- react-text: 1778 -->false<!-- /react-text --></td></tr></tbody></table><h3 id="Form.Item" data-reactid="1779"><span data-reactid="1780"><!-- react-text: 1781 -->Form.Item<!-- /react-text --></span><a href="#Form.Item" class="anchor" data-reactid="1782">#</a></h3><p data-reactid="1783"><!-- react-text: 1784 -->Note:<!-- /react-text --></p><ul data-reactid="1785"><li data-reactid="1786"><p data-reactid="1787"><!-- react-text: 1788 -->If Form.Item has multiple children that had been decorated by <!-- /react-text --><code data-reactid="1789"><!-- react-text: 1790 -->getFieldDecorator<!-- /react-text --></code><!-- react-text: 1791 -->, <!-- /react-text --><code data-reactid="1792"><!-- react-text: 1793 -->help<!-- /react-text --></code><!-- react-text: 1794 --> and <!-- /react-text --><code data-reactid="1795"><!-- react-text: 1796 -->required<!-- /react-text --></code><!-- react-text: 1797 --> and <!-- /react-text --><code data-reactid="1798"><!-- react-text: 1799 -->validateStatus<!-- /react-text --></code><!-- react-text: 1800 --> can&#x27;t be generated automatically.<!-- /react-text --></p></li><li data-reactid="1801"><p data-reactid="1802"><!-- react-text: 1803 -->Before <!-- /react-text --><code data-reactid="1804"><!-- react-text: 1805 -->2.2.0<!-- /react-text --></code><!-- react-text: 1806 -->, form controls must be child of Form.Item, otherwise, you need to set <!-- /react-text --><code data-reactid="1807"><!-- react-text: 1808 -->help<!-- /react-text --></code><!-- react-text: 1809 -->, <!-- /react-text --><code data-reactid="1810"><!-- react-text: 1811 -->required<!-- /react-text --></code><!-- react-text: 1812 --> and <!-- /react-text --><code data-reactid="1813"><!-- react-text: 1814 -->validateStatus<!-- /react-text --></code><!-- react-text: 1815 --> by yourself.<!-- /react-text --></p></li></ul><table data-reactid="1816"><thead data-reactid="1817"><tr data-reactid="1818"><th data-reactid="1819"><!-- react-text: 1820 -->Property<!-- /react-text --></th><th data-reactid="1821"><!-- react-text: 1822 -->Description<!-- /react-text --></th><th data-reactid="1823"><!-- react-text: 1824 -->Type<!-- /react-text --></th><th data-reactid="1825"><!-- react-text: 1826 -->Default Value<!-- /react-text --></th></tr></thead><tbody data-reactid="1827"><tr data-reactid="1828"><td data-reactid="1829"><!-- react-text: 1830 -->label<!-- /react-text --></td><td data-reactid="1831"><!-- react-text: 1832 -->Label text<!-- /react-text --></td><td data-reactid="1833"><!-- react-text: 1834 -->string<!-- /react-text --><!-- react-text: 1835 -->|<!-- /react-text --><!-- react-text: 1836 -->ReactNode<!-- /react-text --></td><td data-reactid="1837"></td></tr><tr data-reactid="1838"><td data-reactid="1839"><!-- react-text: 1840 -->labelCol<!-- /react-text --></td><td data-reactid="1841"><!-- react-text: 1842 -->The layout of label. You can set <!-- /react-text --><code data-reactid="1843"><!-- react-text: 1844 -->span<!-- /react-text --></code><!-- react-text: 1845 --> <!-- /react-text --><code data-reactid="1846"><!-- react-text: 1847 -->offset<!-- /react-text --></code><!-- react-text: 1848 --> to something like <!-- /react-text --><code data-reactid="1849"><!-- react-text: 1850 -->{span: 3, offset: 12}<!-- /react-text --></code><!-- react-text: 1851 --> or <!-- /react-text --><code data-reactid="1852"><!-- react-text: 1853 -->sm: {span: 3, offset: 12}<!-- /react-text --></code><!-- react-text: 1854 --> same as with <!-- /react-text --><code data-reactid="1855"><!-- react-text: 1856 -->&lt;Col&gt;<!-- /react-text --></code></td><td data-reactid="1857"><!-- react-text: 1858 -->object<!-- /react-text --></td><td data-reactid="1859"></td></tr><tr data-reactid="1860"><td data-reactid="1861"><!-- react-text: 1862 -->wrapperCol<!-- /react-text --></td><td data-reactid="1863"><!-- react-text: 1864 -->The layout for input controls, same as <!-- /react-text --><code data-reactid="1865"><!-- react-text: 1866 -->labelCol<!-- /react-text --></code></td><td data-reactid="1867"><!-- react-text: 1868 -->object<!-- /react-text --></td><td data-reactid="1869"></td></tr><tr data-reactid="1870"><td data-reactid="1871"><!-- react-text: 1872 -->help<!-- /react-text --></td><td data-reactid="1873"><!-- react-text: 1874 -->The prompt message. If not provided, the prompt message will be generated by the validation rule.<!-- /react-text --></td><td data-reactid="1875"><!-- react-text: 1876 -->string<!-- /react-text --><!-- react-text: 1877 -->|<!-- /react-text --><!-- react-text: 1878 -->ReactNode<!-- /react-text --></td><td data-reactid="1879"></td></tr><tr data-reactid="1880"><td data-reactid="1881"><!-- react-text: 1882 -->extra<!-- /react-text --></td><td data-reactid="1883"><!-- react-text: 1884 -->The extra prompt message. It is similar to help. Usage example: to display error message and prompt message at the same time.<!-- /react-text --></td><td data-reactid="1885"><!-- react-text: 1886 -->string<!-- /react-text --><!-- react-text: 1887 -->|<!-- /react-text --><!-- react-text: 1888 -->ReactNode<!-- /react-text --></td><td data-reactid="1889"></td></tr><tr data-reactid="1890"><td data-reactid="1891"><!-- react-text: 1892 -->required<!-- /react-text --></td><td data-reactid="1893"><!-- react-text: 1894 -->Whether provided or not, it will be generated by the validation rule.<!-- /react-text --></td><td data-reactid="1895"><!-- react-text: 1896 -->boolean<!-- /react-text --></td><td data-reactid="1897"><!-- react-text: 1898 -->false<!-- /react-text --></td></tr><tr data-reactid="1899"><td data-reactid="1900"><!-- react-text: 1901 -->validateStatus<!-- /react-text --></td><td data-reactid="1902"><!-- react-text: 1903 -->The validation status. If not provided, it will be generated by validation rule. options: &#x27;success&#x27; &#x27;warning&#x27; &#x27;error&#x27; &#x27;validating&#x27;<!-- /react-text --></td><td data-reactid="1904"><!-- react-text: 1905 -->string<!-- /react-text --></td><td data-reactid="1906"></td></tr><tr data-reactid="1907"><td data-reactid="1908"><!-- react-text: 1909 -->hasFeedback<!-- /react-text --></td><td data-reactid="1910"><!-- react-text: 1911 -->Used with <!-- /react-text --><code data-reactid="1912"><!-- react-text: 1913 -->validateStatus<!-- /react-text --></code><!-- react-text: 1914 -->, this option specifies the validation status icon. Recommended to be used only with <!-- /react-text --><code data-reactid="1915"><!-- react-text: 1916 -->Input<!-- /react-text --></code><!-- react-text: 1917 -->.<!-- /react-text --></td><td data-reactid="1918"><!-- react-text: 1919 -->boolean<!-- /react-text --></td><td data-reactid="1920"><!-- react-text: 1921 -->false<!-- /react-text --></td></tr><tr data-reactid="1922"><td data-reactid="1923"><!-- react-text: 1924 -->colon<!-- /react-text --></td><td data-reactid="1925"><!-- react-text: 1926 -->Used with <!-- /react-text --><code data-reactid="1927"><!-- react-text: 1928 -->label<!-- /react-text --></code><!-- react-text: 1929 -->, whether to display <!-- /react-text --><code data-reactid="1930"><!-- react-text: 1931 -->:<!-- /react-text --></code><!-- react-text: 1932 --> after label text.<!-- /react-text --></td><td data-reactid="1933"><!-- react-text: 1934 -->boolean<!-- /react-text --></td><td data-reactid="1935"><!-- react-text: 1936 -->true<!-- /react-text --></td></tr></tbody></table><h3 id="Validation-Rules" data-reactid="1937"><span data-reactid="1938"><!-- react-text: 1939 -->Validation Rules<!-- /react-text --></span><a href="#Validation-Rules" class="anchor" data-reactid="1940">#</a></h3><table data-reactid="1941"><thead data-reactid="1942"><tr data-reactid="1943"><th data-reactid="1944"><!-- react-text: 1945 -->Property<!-- /react-text --></th><th data-reactid="1946"><!-- react-text: 1947 -->Description<!-- /react-text --></th><th data-reactid="1948"><!-- react-text: 1949 -->Type<!-- /react-text --></th><th data-reactid="1950"><!-- react-text: 1951 -->Default Value<!-- /react-text --></th></tr></thead><tbody data-reactid="1952"><tr data-reactid="1953"><td data-reactid="1954"><!-- react-text: 1955 -->message<!-- /react-text --></td><td data-reactid="1956"><!-- react-text: 1957 -->validation error message<!-- /react-text --></td><td data-reactid="1958"><!-- react-text: 1959 -->string<!-- /react-text --></td><td data-reactid="1960"><!-- react-text: 1961 -->-<!-- /react-text --></td></tr><tr data-reactid="1962"><td data-reactid="1963"><!-- react-text: 1964 -->type<!-- /react-text --></td><td data-reactid="1965"><!-- react-text: 1966 -->built-in validation type, <!-- /react-text --><a href="https://github.com/yiminghe/async-validator#type" data-reactid="1967"><!-- react-text: 1968 -->available options<!-- /react-text --></a></td><td data-reactid="1969"><!-- react-text: 1970 -->string<!-- /react-text --></td><td data-reactid="1971"><!-- react-text: 1972 -->&#x27;string&#x27;<!-- /react-text --></td></tr><tr data-reactid="1973"><td data-reactid="1974"><!-- react-text: 1975 -->required<!-- /react-text --></td><td data-reactid="1976"><!-- react-text: 1977 -->indicates whether field is required<!-- /react-text --></td><td data-reactid="1978"><!-- react-text: 1979 -->boolean<!-- /react-text --></td><td data-reactid="1980"><code data-reactid="1981"><!-- react-text: 1982 -->false<!-- /react-text --></code></td></tr><tr data-reactid="1983"><td data-reactid="1984"><!-- react-text: 1985 -->len<!-- /react-text --></td><td data-reactid="1986"><!-- react-text: 1987 -->validate an exact length of a field<!-- /react-text --></td><td data-reactid="1988"><!-- react-text: 1989 -->number<!-- /react-text --></td><td data-reactid="1990"><!-- react-text: 1991 -->-<!-- /react-text --></td></tr><tr data-reactid="1992"><td data-reactid="1993"><!-- react-text: 1994 -->min<!-- /react-text --></td><td data-reactid="1995"><!-- react-text: 1996 -->validate a min length of a field<!-- /react-text --></td><td data-reactid="1997"><!-- react-text: 1998 -->number<!-- /react-text --></td><td data-reactid="1999"><!-- react-text: 2000 -->-<!-- /react-text --></td></tr><tr data-reactid="2001"><td data-reactid="2002"><!-- react-text: 2003 -->max<!-- /react-text --></td><td data-reactid="2004"><!-- react-text: 2005 -->validate a max length of a field<!-- /react-text --></td><td data-reactid="2006"><!-- react-text: 2007 -->number<!-- /react-text --></td><td data-reactid="2008"><!-- react-text: 2009 -->-<!-- /react-text --></td></tr><tr data-reactid="2010"><td data-reactid="2011"><!-- react-text: 2012 -->enum<!-- /react-text --></td><td data-reactid="2013"><!-- react-text: 2014 -->validate a value from a list of possible values<!-- /react-text --></td><td data-reactid="2015"><!-- react-text: 2016 -->string<!-- /react-text --></td><td data-reactid="2017"><!-- react-text: 2018 -->-<!-- /react-text --></td></tr><tr data-reactid="2019"><td data-reactid="2020"><!-- react-text: 2021 -->pattern<!-- /react-text --></td><td data-reactid="2022"><!-- react-text: 2023 -->validate from a regular expression<!-- /react-text --></td><td data-reactid="2024"><!-- react-text: 2025 -->RegExp<!-- /react-text --></td><td data-reactid="2026"><!-- react-text: 2027 -->-<!-- /react-text --></td></tr><tr data-reactid="2028"><td data-reactid="2029"><!-- react-text: 2030 -->transform<!-- /react-text --></td><td data-reactid="2031"><!-- react-text: 2032 -->transform a value before validation<!-- /react-text --></td><td data-reactid="2033"><!-- react-text: 2034 -->function(value) =&gt; transformedValue:any<!-- /react-text --></td><td data-reactid="2035"><!-- react-text: 2036 -->-<!-- /react-text --></td></tr><tr data-reactid="2037"><td data-reactid="2038"><!-- react-text: 2039 -->validator<!-- /react-text --></td><td data-reactid="2040"><!-- react-text: 2041 -->custom validate function (Note: <!-- /react-text --><a href="https://github.com/ant-design/ant-design/issues/5155" data-reactid="2042"><!-- react-text: 2043 -->callback must be called<!-- /react-text --></a><!-- react-text: 2044 -->)<!-- /react-text --></td><td data-reactid="2045"><!-- react-text: 2046 -->function(rule, value, callback)<!-- /react-text --></td><td data-reactid="2047"><!-- react-text: 2048 -->-<!-- /react-text --></td></tr></tbody></table><p data-reactid="2049"><!-- react-text: 2050 -->See more advanced usage at <!-- /react-text --><a href="https://github.com/yiminghe/async-validator" data-reactid="2051"><!-- react-text: 2052 -->async-validator<!-- /react-text --></a><!-- react-text: 2053 -->.<!-- /react-text --></p><style data-reactid="2054">
.code-box-demo .ant-form:not(.ant-form-inline):not(.ant-form-vertical) {
max-width: 540px;
}
</style></section></article></div></div><div class="ant-row" data-reactid="2055"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-18 ant-col-md-offset-6 ant-col-lg-20 ant-col-lg-offset-4" data-reactid="2056"><section class="prev-next-nav" data-reactid="2057"><a class="prev-page" href="/components/date-picker/" data-reactid="2058"><span data-reactid="2059">DatePicker</span><span class="chinese" data-reactid="2060"></span></a><a class="next-page" href="/components/input/" data-reactid="2061"><span data-reactid="2062">Input</span><span class="chinese" data-reactid="2063"></span></a></section></div></div></div><footer id="footer" data-reactid="2064"><ul data-reactid="2065"><li data-reactid="2066"><h2 data-reactid="2067"><i class="anticon anticon-github" data-reactid="2068"></i><!-- react-text: 2069 --> GitHub<!-- /react-text --></h2><div data-reactid="2070"><a target="_blank " href="https://github.com/ant-design/ant-design" data-reactid="2071"><span data-reactid="2072">Repository</span></a></div><div data-reactid="2073"><a target="_blank " href="https://ant.design/docs/react/customize-theme" data-reactid="2074"><span data-reactid="2075">Customize Theme</span></a></div><div data-reactid="2076"><a target="_blank " href="https://github.com/websemantics/awesome-ant-design" data-reactid="2077"><span data-reactid="2078">Awesome Ant Design</span></a></div></li><li data-reactid="2079"><h2 data-reactid="2080"><i class="anticon anticon-link" data-reactid="2081"></i><!-- react-text: 2082 --> <!-- /react-text --><span data-reactid="2083">Links</span></h2><div data-reactid="2084"><a href="http://mobile.ant.design" data-reactid="2085">Ant Design Mobile</a><span data-reactid="2086"> - </span><span data-reactid="2087">Mobile UI</span></div><div data-reactid="2088"><a target="_blank" rel="noopener noreferrer" href="https://github.com/dvajs/dva" data-reactid="2089">dva</a><!-- react-text: 2090 --> - <!-- /react-text --><span data-reactid="2091">Framework</span></div><div data-reactid="2092"><a target="_blank" rel="noopener noreferrer" href="https://github.com/dvajs/dva-cli" data-reactid="2093">dva-cli</a><!-- react-text: 2094 --> -<!-- /react-text --><span data-reactid="2095">Developer Tools</span></div><div data-reactid="2096"><a target="_blank" rel="noopener noreferrer" href="https://eggjs.org/" data-reactid="2097">Egg</a><span data-reactid="2098"> - </span><span data-reactid="2099">Enterprise Node Framework</span></div><div data-reactid="2100"><a target="_blank" rel="noopener noreferrer" href="https://antv.alipay.com/" data-reactid="2101">AntV</a><span data-reactid="2102"> - </span><span data-reactid="2103">Data Visualization</span></div><div data-reactid="2104"><a target="_blank" rel="noopener noreferrer" href="http://motion.ant.design" data-reactid="2105">Ant Motion</a><span data-reactid="2106"> - </span><span data-reactid="2107">Motion Soluction</span></div><div data-reactid="2108"><a target="_blank" rel="noopener noreferrer" href="http://library.ant.design/" data-reactid="2109">AntD Library</a><span data-reactid="2110"> - </span><span data-reactid="2111">Axure library</span></div><div data-reactid="2112"><a target="_blank" rel="noopener noreferrer" href="http://ux.ant.design" data-reactid="2113">Ant UX</a><span data-reactid="2114"> - </span><span data-reactid="2115">Sitemap Template</span></div></li><li data-reactid="2116"><h2 data-reactid="2117"><i class="anticon anticon-customer-service" data-reactid="2118"></i><!-- react-text: 2119 --> <!-- /react-text --><span data-reactid="2120">Community</span></h2><div data-reactid="2121"><a href="/changelog" data-reactid="2122"><span data-reactid="2123">Change Log</span></a></div><div data-reactid="2124"><a target="_blank" rel="noopener noreferrer" href="https://github.com/ant-design/ant-design/wiki/FAQ" data-reactid="2125"><span data-reactid="2126">FAQ</span></a></div><div data-reactid="2127"><a target="_blank" rel="noopener noreferrer" href="https://gitter.im/ant-design/ant-design" data-reactid="2128"><span data-reactid="2129">Chat Room</span></a></div><div data-reactid="2130"><a target="_blank" rel="noopener noreferrer" href="https://github.com/ant-design/ant-design/issues/new" data-reactid="2131"><span data-reactid="2132">Bug Report</span></a></div><div data-reactid="2133"><a target="_blank" rel="noopener noreferrer" href="http://stackoverflow.com/questions/tagged/antd" data-reactid="2134"><span data-reactid="2135">StackOverflow</span></a></div><div data-reactid="2136"><a target="_blank" rel="noopener noreferrer" href="https://segmentfault.com/t/antd" data-reactid="2137"><span data-reactid="2138">SegmentFault</span></a></div></li><li data-reactid="2139"><h2 data-reactid="2140"><!-- react-text: 2141 -->Copyright © <!-- /react-text --><!-- react-text: 2142 -->2017<!-- /react-text --></h2><div data-reactid="2143"><span data-reactid="2144">Created by Ant UED</span></div><div data-reactid="2145"><!-- react-text: 2146 -->Built with <!-- /react-text --><a target="_blank" rel="noopener noreferrer" href="https://github.com/benjycui/bisheng" data-reactid="2147">BiSheng</a></div></li></ul></footer></div>
</div>
<script src="/common.js"></script>
<script src="/index.js"></script>
</body>
</html>