Semantic UI 的表单验证系统提供了一个全面的用户输入验证机制。本页面介绍了如何使用 Semantic UI 的表单行为模块来实施和自定义表单验证。有关表单样式和布局的一般信息,请参阅表单集合。
表单验证模块允许开发人员根据预定义或自定义规则验证用户输入,显示错误消息,并根据验证状态处理表单提交。它与其他 Semantic UI 组件(如下拉菜单、复选框和输入框)无缝集成。
来源:src/definitions/behaviors/form.js1-70
来源:src/definitions/behaviors/form.js72-162 src/definitions/behaviors/form.js237-299
要初始化表单验证,您需要创建一个带有 ui form 类的表单,并使用适当的设置调用表单验证方法。
来源:src/definitions/behaviors/form.js122-127 src/definitions/behaviors/form.js139-165
Semantic UI 的表单验证系统附带了一套全面的内置验证规则。这些规则在设置对象中定义,可以通过在字段配置中指定其类型来使用。
| 规则类型 | 描述 |
|---|---|
empty | 检查字段是否有值 |
email | 验证值是否为有效的电子邮件地址 |
url | 检查值是否为有效的 URL |
regExp | 根据正则表达式进行验证 |
整数 | 验证值是否为整数 |
decimal | 检查值是否为小数 |
数字 | 验证值是否为数字 |
is | 检查值是否与其他字段的值匹配 |
minLength | 验证最小字符长度 |
maxLength | 验证最大字符长度 |
match | 检查字段是否与其他指定字段匹配 |
contains | 验证值是否包含指定的文本 |
creditCard | 验证信用卡号格式 |
来源:src/definitions/behaviors/form.js1070-1595
每个规则都可以配置
type:要应用的规则类型prompt:验证失败时显示的错误消息value:需要比较值的规则的可选值(例如:minLength)您可以将自定义验证规则添加到 settings.rules 对象中
来源:src/definitions/behaviors/form.js1070-1080
表单验证可以根据 on 设置由不同事件触发
可用选项:
submit:在表单提交时验证(默认)blur:字段失去焦点时验证change:字段值更改时验证来源:src/definitions/behaviors/form.js349-365 src/definitions/behaviors/form.js367-382
表单字段可以具有以下状态
验证状态会通过特定的 CSS 类反映在 UI 中
.error:应用于验证失败的字段.success:应用于表单,表示所有验证都已通过来源:src/definitions/collections/form.less430-439 src/definitions/collections/form.less399-409
错误消息可以全局或按字段进行自定义
也支持基于字段值的动态提示
来源:src/definitions/behaviors/form.js434-464 RELEASE-NOTES.md131
Semantic UI 表单验证提供了一个全面的 API 以供程序化控制。
| 方法 | 描述 |
|---|---|
validate form | 验证整个表单并显示错误消息 |
is valid | 检查表单/字段是否有效,但不更新 UI(返回布尔值) |
validate field | 验证特定字段 |
add rule | 向现有字段添加验证规则 |
add field | 添加一个带有验证规则的新字段 |
remove rule | 从字段中删除验证规则 |
remove field | 从验证中删除一个字段 |
来源:src/definitions/behaviors/form.js237-296 RELEASE-NOTES.md289 RELEASE-NOTES.md131
表单验证系统与其他 Semantic UI 组件(如下拉菜单、复选框和单选按钮)集成。
通过访问下拉菜单的值,验证功能可与下拉菜单协同工作
对于复选框和单选按钮,验证会检查它们是否被选中
来源:src/definitions/behaviors/form.js168-196 src/definitions/behaviors/form.js200-234
您可以将字段标记为可选,这意味着只有在有值时才会验证它们
您可以将相关字段分组以进行验证
来源:src/definitions/collections/form.less45-58
您可以启用内联验证,在字段旁边显示错误消息,而不是在表单顶部
来源:src/definitions/collections/form.less269-287
ui form 类来源:src/definitions/behaviors/form.js349-365 src/definitions/behaviors/form.js434-464
当 Semantic UI 调试启用时,表单模块会包含详细的调试信息。要启用调试
这将把有关验证过程、规则匹配和错误处理的详细信息输出到控制台。