<?xml version="1.0" encoding="UTF-8"?>
<ItemInfo Name="test.http" Label="测试">
    <Fields>
        <!--Name 字段名称-->
        <!--Type 数据类型, 与 MongoDB 命名相同. 由于一些名称不常见, 在解析 XML 时实现了别名的效果, 例如填写 float64 等同于 double-->
        <!--Required, 是否必填, 用于所有类型-->
        <!--Unique 是否唯一, 用于所有类型. 通过 MongoDB 实现. 自己实现可能无法保证操作的原子性-->
        <!--Minimum 最小值. 用于所有类型/ 例如数据类型为 字符串/数组 时用作长度, 数字类型时用作大小, object/map 类型是用作 key 的数量-->
        <!--Maximum 与 Minimum 相反, 用于所有类型-->
        <!--Items 数组元素类型. 用于 Array. 默认为空表示不限制元素类型, 可选值为 object 表示限定所有元素必须为 map. 当元素类型为 map 时该 map 不可包含子 map, 同时数组内的元素不可再为数组-->
        <!--Decimal 小数点后保留位数, 用于 double/float64-->

        <!--Label 中文名称. 暂时保留其用途-->
        <!--Default 默认值. 根据 Type 格式化为对应类型的数据. 用于 Insert/InsertMany-->
        <!--Enums 值的限定列表. 输入的值必须包含在其中. 用于 Insert/InsertMany/Update系列-->
        <!--Lookup 关联查询. 用于 Find/FindOne-->
        <!--Pattern 正则表达式. 输入的值必须可以被该规则匹配到. 用于 Insert/InsertMany/Update系列-->
        <!--Fields 必须存在的字段. 用于 Type=object 或 Type=array 和 Items=array 的两种情况. 用于 Insert/InsertMany/Update系列-->


        <!-- double/float64 浮点数-->
        <!--Decimal 小数点后保留位数, 用于 double/float/float64-->

        <!--Form: -->
        <!-- Mode=text/number/select/password/textarea 分别表示输入框或选择框-->
        <!-- Unit=RPM 单位-->
        <!-- ReadOnly=true 是否只读-->
        <!-- Disable=true 是否禁用-->
        <!-- Help 表单帮助, 在表单底部显示-->
        <!-- ValidFeedback 校验成功时的显示的提示内容-->
        <!-- InvalidFeedback 校验失败时的显示的提示内容-->
        <!-- 当 Mode=text 时:-->
        <!--    Form.Date 日期选择器. date 仅日期, dateTime 日期和时间, dateTimeSecond 日期和时间带秒, dateRange 日期范围,  dateTimeRange 日期和时间范围, dateTimeRangeSecond 日期和时间范围带秒-->
        <!--    引用 Field.Name,Field.Type,Field.Required,Field.Label,Field.Minimum,Field.Maximum,Field.Decimal,Field.Default -->
        <!--    其中: -->
        <!--        Field.Name 用于表单的 id 和 name -->
        <!--        Field.Type 用于表单的 type 属性, 当 Field.Type 为数字类型时填写 number, 其他类型时填写 text-->
        <!--        Field.Required 用于表单的 required 属性-->
        <!--        Field.Label 用于表单的 label 值-->
        <!--        Field.Minimum 和 Maximum:-->
        <!--            当表单 type=text 时限制最大和最小输入的字符数量: 表单需设置 minlength="3" maxlength="25"-->
        <!--        Field.Default 表单的 value 值-->
        <!-- 当 Mode=number 时与 text 相同, 但以下选项不同:-->
        <!--        Field.Minimum 和 Maximum: 时限制最大和最小输入的数字: 表单需设置 min="0" max="100"-->
        <!--        Field.Decimal 用于控制数字类型需要保留的小数-->
        <!-- 当 Mode=select 时:-->
        <!--    Form.Multiple 是否为多选-->
        <!--    Form.URL 从此 URL 中加载数据, 表单需设置 data-ajax-url=""，详情参考 https://select2.org/data-sources/ajax 实现-->
        <!--    引用 Field.Name,Field.Required,Field.Label,Field.Maximum,Field.Decimal,Field.Default,Field.Enums-->
        <!--    其中:-->
        <!--        Field.Name 用于表单的 id 和 name -->
        <!--        Field.Required 用于表单的 required 属性-->
        <!--        Field.Label 用于表单的 label 值-->
        <!--        Field.Maximum 限制最大选择数量, Form.Multiple=true 时有效, 表单需设置 data-maximum-Selection-Length="2"-->
        <!--        Field.Default 如果该值在包含在 Enums 中时，会将此值设置为 selected="selected"-->
        <!--        Field.Enums 用作 option 选项-->

        <Field Name="validate-form-firstname" Type="string" Required="true" Unique="false" Minimum="1" Maximum="5" Decimal="">
            <Label>姓(password)</Label>
            <Default>Mark</Default>
            <Form Mode="password" Unit="" ReadOnly="false" Disable="false" Date="" Multiple="" URL="" Selected="">
                <ValidFeedback>有效!</ValidFeedback>
                <InvalidFeedback>请填写 First Name!</InvalidFeedback>
            </Form>
        </Field>

        <Field Name="validate-form-lastname" Type="string" Required="true" Unique="false" Minimum="1" Maximum="5">
            <Label>名(text)</Label>
            <Default>Otto</Default>
            <Form Mode="text" Unit="" ReadOnly="false" Disable="false" Date="" Multiple="" URL="" Selected="">
                <InvalidFeedback>请填写 Last Name!</InvalidFeedback>
            </Form>
        </Field>

        <Field Name="validate-form-username" Type="string" Required="true" Unique="false" Minimum="1" Maximum="5">
            <Label>用户名(unit)</Label>
            <Default/>
            <Form Mode="text" Unit="@" ReadOnly="false" Disable="false" Date="" Multiple="" URL="" Selected="">
                <InvalidFeedback>请填写用户名!</InvalidFeedback>
            </Form>
        </Field>

        <Field Name="validate-form-city" Type="string" Required="true" Unique="false" Minimum="1" Maximum="5">
            <Label>城市(text)</Label>
            <Default/>
            <Form Mode="text" Unit="" ReadOnly="false" Disable="false" Date="" Multiple="" URL="" Selected="">
                <InvalidFeedback>请填写所在城市!</InvalidFeedback>
            </Form>
        </Field>

        <Field Name="validate-form-state" Type="string" Required="true" Unique="false" Minimum="1" Maximum="5">
            <Label>州(select)</Label>
            <Enums>
                <Enum>纽约</Enum>
                <Enum>洛杉矶</Enum>
                <Enum>芝加哥</Enum>
                <Enum>休士顿</Enum>
            </Enums>
            <Default/>
            <Form Mode="select" Unit="" ReadOnly="false" Disable="false" Date="" Multiple="" URL="" Selected="芝加哥">
                <InvalidFeedback>请选择所在州!</InvalidFeedback>
            </Form>
        </Field>

        <Field Name="validate-form-postcode" Type="int64" Required="true" Unique="false" Minimum="" Maximum="">
            <Label>邮编(number)</Label>
            <Default/>
            <Form Mode="number" Unit="" ReadOnly="false" Disable="false" Date="" Multiple="" URL="" Selected="">
                <InvalidFeedback>请填写邮政编码!</InvalidFeedback>
            </Form>
        </Field>
        <Field Name="validate-form-select2" Type="string" Required="true" Unique="false" Minimum="2" Maximum="">
            <Label>多选</Label>
            <Enums>
                <Enum>纽约</Enum>
                <Enum>洛杉矶</Enum>
                <Enum>芝加哥</Enum>
                <Enum>休士顿</Enum>
            </Enums>
            <Default/>
            <Form Mode="select" Unit="" ReadOnly="false" Disable="false" Date="" Multiple="true" URL="" Selected="芝加哥,休士顿">
                <InvalidFeedback>请选择!</InvalidFeedback>
            </Form>
        </Field>
        <Field Name="validate-form-daterange" Type="string" Required="true" Unique="false" Minimum="" Maximum="">
            <Label>日期</Label>
            <Default/>
            <Form Hidden="false" Mode="text" Unit="" ReadOnly="false" Disable="false" Date="dateTimeRangeSecond" Multiple="" URL="" Selected="">
                <InvalidFeedback>请选择!</InvalidFeedback>
            </Form>
        </Field>
        <Field Name="validate-form-textarea" Type="string" Required="true" Unique="false" Minimum="" Maximum="">
            <Label>文本域</Label>
            <Default>测试默认文本</Default>
            <Form Hidden="false" Mode="textarea" Unit="#" ReadOnly="false" Disable="false">
                <ValidFeedback>有效!</ValidFeedback>
                <InvalidFeedback>请填写文本域!</InvalidFeedback>
            </Form>
        </Field>
    </Fields>
</ItemInfo>