# 表单
具有数据收集、校验和提交功能的表单,包含输入框、选择框、复选框、单选框等元素。
# 概念说明
# 属性
组件通用属性请参见组件通用说明。
# 表单
表单布局:更改表单的布局方式。
行内展示,标签与表单项在一行展示。
块级展示,宽度会充满父元素。
栅格展示,可设置列数。
列数:整个表单的划分列数,此项需要设置表单布局为“栅格展示”。
列间隔:设置表单项间隔大小。支持无、小、正常、大四个级别,此项需要设置表单布局为“行内展示”。
行间隔:设置表单行间隔大小。支持无、小、正常、大四个级别。
标签布局:设置标签布局方式。
行内展示。
块级展示,标签与表单项分行展示。
标签宽度:设置标签宽度。支持迷你、小、正常、大四个级别。
标签省略显示:文字过长是否省略显示,默认文字超出时会换行。
是否可折叠:分组是否可以折叠。
手风琴模式:是否每次只会展开一个分组。
展开触发方式:展开/折叠的触发方式。
- 整行点击均可触发。
- 仅点击小箭头时触发。
# 表单项
占据数:列跨越的格数。
标签布局:设置标签布局方式。
行内展示。
块级展示,标签与表单项分行展示。
标签大小:单独设置表单项的标签宽度大小。支持迷你、小、正常、大四个级别。
标签省略显示:文字过长是否省略显示,默认文字超出时会换行。
字段大小:单独设置表单项的内容大小。
必填标记:是否必填。仅显示样式,如果要验证必填项,需要在
rules
中添加必填规则。提示消息:默认提示消息。
描述内容:添加描述内容。
标签纵轴对齐:标签与表单元素的纵轴对齐方式,默认为顶对齐。
验证规则:验证规则。简写格式为字符串类型,完整格式或混合格式为数组类型,详见验证规则。
忽略验证:设置是否忽略验证。
# 表单分组
标题:显示的标题。
列数:整个表单的划分列数。
标签布局:设置标签布局方式。
行内展示
块级展示,标签与表单项分行展示。
标签省略显示:文字过长是否省略显示。默认文字超出时会换行。
是否可折叠:分组是否可以折叠。
展开折叠状态:绑定展开/折叠状态的值。
禁用:置灰显示,且禁止任何交互(焦点、点击、选择、输入等)。
# 事件
# 表单
事件名 | 触发条件 |
---|---|
验证后 | 验证时触发 |
# 表单项
事件名 | 触发条件 |
---|---|
验证后 | 验证时触发 |
# 表单分组
事件名 | 触发条件 |
---|---|
展开折叠前 | 表单分组展开/折叠前 |
展开折叠后 | 表单分组展开/折叠后 |
# 内置逻辑
# 表单
内置逻辑名称 | 参数 | 功能描述 |
---|---|---|
validate | trigger:触发方式,可选值:submit 、blur 和input 之一,或者它们的任意组合。muted:是否验证后无提示 | 验证整个表单的数据有效性 |
# 样式
样式说明请参见组件通用说明。
# 主题样式
- label
- label-color:表单项 label字体颜色,如 #223325。默认#666。
- label-padding-right:表单项 label文本右边距,如 1px。默认20px。
- label-width:表单项 label宽度,如 1px。默认76px。
# 验证规则
系统内置必填、字符、手机号、邮箱等常用验证规则,用户也可以通过正则表达式来自定义规则。
在编辑实体时,若字段设置为必填、或有最大长度、最小长度,拖拽实体生成表单会自动添加验证规则。若不需要使用验证规则,可开启忽略验证。
# 验证规则一览表
分组 | 验证项 | 参数 | 参数类型 | 默认值 | 参数说明 | 验证规则说明 |
---|---|---|---|---|---|---|
常用 | required | 必填,空值指''、undefined、null | ||||
filled | 必填,在required基础上,字符串不能全为空格 | |||||
mobile | locale | 字符串|字符串集合 | zh-CN | 所在地区,例如zh-CN,ja-JP等,可以是一个字符串或字符串集合,为空匹配所有地区 | 输入内容为合法手机号 locale:所在地区,例如zh-CN,ja-JP等,可以是一个字符串或字符串集合,为空匹配所有地区 strict:是否检验国家代号。如果为true,则必须以+和国家码开头 | |
strict | 布尔 | FALSE | 是否检验国家代号。如果为true,则必须以+和国家码开头 | |||
校验邮箱格式,必须为正确的邮箱 | ||||||
maxLength | max | 整数 | 最大长度 | 长度不得超过指定数字;字符串、集合长度均可比较 | ||
max | max | 数字|字符串|日期 | 可取到的最大值 | 不得大于指定的值;数字、字符串、日期均可比较 | ||
range | min | 数字|字符串|日期 | 可取到的最小值 | 必须在指定值范围内;数字、字符串、日期均可比较 | ||
max | 数字|字符串|日期 | 可取到的最大值 | ||||
string | 必须为字符串类型 | |||||
number | 必须为数字类型 | |||||
integer | 必须为整数 | |||||
pattern | re | 字符串 | 正则表达式 | 根据正则表达式判断 | ||
unique | arr | List集合 | 验证List集合中是否包含输入内容 | 验证输入框的内容是否包含在参数arr中,若包含则提示:***已存在,专用于判重 | ||
空值判断 | required | 必填,空值指''、undefined、null | ||||
filled | 必填,在required基础上,字符串不能全为空格 | |||||
notEmpty | 集合不能为空,支持字符串比较 | |||||
empty | 必须为空,支持字符串比较 | |||||
范围判断 | minLength | min | 整数 | 最小长度 | 不得少于指定字符数;字符串、集合长度均可比较 | |
maxLength | max | 整数 | 最大长度 | 不得超过指定字符数;字符串、集合长度均可比较 | ||
rangeLength | min | 整数 | 最小长度 | 字符数必须在指定范围内;字符串、集合长度均可比较 | ||
max | 整数 | 最大长度 | ||||
min | min | 数字|字符串|日期 | 可取到的最小值 | 不得小于指定的值;数字、字符串、日期均可比较 | ||
max | max | 数字|字符串|日期 | 可取到的最大值 | 不得大于指定的值;数字、字符串、日期均可比较 | ||
range | min | 数字|字符串|日期 | 可取到的最小值 | 必须在指定值范围内;数字、字符串、日期均可比较 | ||
max | 数字|字符串|日期 | 可取到的最大值 | ||||
相等或包含判断 | is | arg | 任意类型 | 必须与arg相同,使用===比较 | ||
isNot | arg | 任意类型 | 必须与arg不同 | |||
equals | arg | 任意类型 | 必须与arg相等 | |||
notEquals | arg | 任意类型 | 必须与arg不相等 | |||
confirmed | arg | 任意类型 | 验证逻辑同equals,错误信息专用于密码的二次确认 | |||
includes | args | List集合 | 验证必须包含args中取值 | 验证值为List集合,输入和失焦时验证,必须包含List集合中的项 | ||
excludes | args | List集合 | 验证不能包含args中取值 | 验证值为List集合,输入和失焦时验证,不包含参数中的项 | ||
included | args | List集合 | 验证必须包含args中取值 | 验证值为单项取值,输入和失焦时验证,必须为参数中的某一个值 | ||
excluded | args | List集合 | 验证不能包含args中取值 | 验证值为单项取值,输入和失焦时验证,不能为参数中的任意一个值 | ||
unique | arr | List集合 | 验证List集合中是否包含输入内容 | 验证输入框的内容是否包含在参数arr中,若包含则提示:***已存在,专用于判重 | ||
noDuplicates | 验证项集合内不能重复 | |||||
类型判断 | string | 必须为字符串类型 | ||||
number | 必须为数字类型 | |||||
numeric | noSymbols | 布尔 | 如果为True,不能包含+,-,.等符号 | 必须为数字,noSymbols为True,不能包含+,-,.等符号 | ||
integer | 必须为整数 | |||||
decimal | force | 布尔 | 如果为true只允许小数 | 整数或小数;force为true只允许小数;digits设置小数位数范围,格式为1,3。默认为1, | ||
digits | 字符串 | 设置小数位数范围,格式如:1,3。默认为1, | ||||
boolean | 必须为布尔类型 | |||||
function | 必须为函数 | |||||
array | 必须为数组 | |||||
object | 必须为对象 | |||||
plainObject | 必须为简单对象 | |||||
字母数字-_判断 | alpha | 只能为字母 | ||||
alphaNum | 只能为字母或数字 | |||||
alphaDash | 必须由字母或下划线组成 | |||||
alphaNumDash | 必须由字母、数字或下划线组成 | |||||
alphaSpaces | 必须由字母或空格组成 | |||||
lowerCase | 不能出现大写字母 | |||||
upperCase | 不能出现小写字母 | |||||
without-- | 不能连续出现中划线 | |||||
without__ | 不能连续出现下划线 | |||||
特定场景判断 | 必须为正确的邮箱 | |||||
ip | 必须为正确的IP | |||||
port | 必须为正确的端口 | |||||
halfWidth | 需要输入半角字符 | |||||
fullWidth | 必须输入全角字符 | |||||
macAddress | 必须输入正确的 MAC 地址 | |||||
ascii | 必须输入ascii字符 | |||||
base64 | 必须输入base64编码 | |||||
byteLength | min | 整数 | 最小字节长度 | 输入字符串的字节长度范围限制 | ||
max | 整数 | 最大字节长度 | ||||
dataURI | 必须输入dataURI 编码 | |||||
divisibleBy | divisor | 整数 | 输入数字能被divisor整除 | 输入数字能被divisor整除 | ||
hash | algorithm | 字符串 | 算法名称,如md5 | 输入编码符合algorithm哈希算法,算法名称,支持md4、md5、sha1、sha256、sha384、sha512、ripemd128、ripemd160、tiger128、tiger160、tiger192、crc32以及crc32b | ||
md5 | 输入编码符合md5算法 | |||||
hex | 输入数字是十六进制 | |||||
hexColor | 输入字符串是十六进制颜色码 | |||||
creditCard | 输入是合法信用卡号 | |||||
fqdn | 输入合法的全限定域名 | |||||
ipOrFQDN | 输入内容必须是一个合法IP或全限定域名 | |||||
ipRange | version | 整数 | IP版本,接受4或6 | 输入内容必须是正确的IP段,如130.5.5.25/24 | ||
isbn | version | 整数 | ISBN版本,接受10或13 | 输入内容是一个合法的国际标准书号(ISBN),version:ISBN版本,接受10或13 | ||
issn | 输入内容是一个合法的国际标准连续出版物号(ISSN) | |||||
isin | 输入内容是一个合法的国际证券识别码(ISIN) | |||||
iso8601 | strict | 布尔 | 是否检测闰年日期,如果为true,则2019-02-29属于非法日期 | 输入内容为合法的ISO8601日期;strict:是否检测闰年日期,若strict为true,则2019-02-29属于非法日期 | ||
iso31661Alpha2 | 输入内容是一个合法的ISO-31661 Alpha-2国家代码 | |||||
iso31661Alpha3 | 输入内容是一个合法的ISO-31661 Alpha-3国家代码 | |||||
json | 输入字符串可以被解析为JSON格式 | |||||
jwt | 输入字符串是合法的JSON Web Token | |||||
latLong | 输入字符串为合法的经纬度坐标 | |||||
mobile | locale | 字符串|字符串集合 | zh-CN | 所在地区,例如zh-CN,ja-JP等,可以是一个字符串或字符串集合,为空匹配所有地区 | 输入内容为合法手机号 locale:所在地区,例如zh-CN,ja-JP等,可以是一个字符串或集合,为空匹配所有地区 strict:是否检验国家代号。如果为true,则必须以+和国家码开头 | |
strict | 布尔 | FALSE | 是否检验国家代号。如果为true,则必须以+和国家码开头 | |||
mongoid | 输入字符串为合法的MongoDB对象的ID | |||||
postalCode | locale | 字符串|字符串集合 | CN | 所在地区,例如CH,JP等 | 输入字符串为合法的邮政编码 locale:所在地区,例如CH,JP等 | |
url | 输入字符串为合法的URL格式,如http://aa.bb | |||||
uuid | version | 整数 | 采用的UUID版本,接受3,4,5,不填默认匹配所有版本 | 输入字符串为合法的UUID version:采用的UUID版本,接受3,4,5,不填默认匹配所有版本 | ||
chinese | 输入字符串为合法的中文内容 | |||||
正则判断 | pattern | re | 字符串 | 正则表达式 | 根据正则表达式判断 | |
^az | 以小写字母开头 | |||||
^az09 | 以小写字母或数字开头 | |||||
^az09_ | 以小写字母、数字或下划线开头 | |||||
^azAZ | 以字母开头 | |||||
^azAZ09 | 以字母或数字开头 | |||||
^azAZ09_ | 以字母数字或下划线开头 | |||||
az09$ | 以小写字母或数字结尾 | |||||
azAZ09$ | 以字母或数字结尾 | |||||
^09$ | 以数字组成 | |||||
^az09$ | 以小写字母或数字组成 | |||||
^az09-$ | 以小写字母、数字或中划线组成 | |||||
^az09-.$ | 以小写字母,数字,-或.组成 | |||||
^azAZ09$ | 以字母或数字组成 | |||||
^azAZ09-$ | 以字母,数字,-组成 | |||||
^azAZ09_$ | 以字母、数字、下划线组成 | |||||
^azAZ09-_$ | 以字母、数字、"-"或"_"组成 | |||||
^az09-_$ | 以字母、数字、-或下划线组成 |