---
name:  Form.Item 表单项
route: /guide/form-item
menu:  form
---

import JsxParser from "react-jsx-parser";
import {
  MessageBox,
  InlineCode,
  Example,
  Code,
  PropsTable
} from "theme";
import {Form} from 'shineDev';
import code from "./demo";
import "../demo/index.scss";

# Item 表单项

## 概述

表单项作为容器组件，用于对表单元素组件功能进行扩充，在此基础上提供了统一错误提示和表单校验等功能。

## 代码示例

### 基础表单项

<MessageBox messageType="danger">
  表单项组件目前仅对子元素为表单元素生效。
</MessageBox>

表单项组件通常用于将基础组件组合成通用的表单模板。

<Example
  display={<JsxParser {...code.label} />}
  code={{code:code.label.jsx}}
  components={code.label.components}
/>

<MessageBox messageType="danger">
  根据 HTML 规范，表单项的标签需要绑定一个可聚焦的唯一标识符（ID），若开发者未在表单项组件子元素绑定唯一标识符，表单项组件将会生成一个随机的唯一标识符（当设置标签时生效）。
</MessageBox>

### 配置参数

<PropsTable of={Form.Item} />

## FAQ

##### 错误提示的优先级？
答：通常情况下，错误提示优先级遵循就近原则，即 表单元素上设置的 `errorMsg` > 表单校验组件上设置的 `errorMsg` > 预设的默认 `errorMsg` 。

##### 预设的校验规则能否更改？
答：可以更改，在需要进行校验的表单元素上，可以通过设置 `rules` 属性，并重写预设校验规则即可。

##### 开发者可以主动调用表单校验检查么？
答：可以，可以调用表单校验组件实例的 `onForceValidate` 方法，该方法会返回表单校验结果。
