无需登录 数据私有 本地保存

表单验证演练场 - HTML5 Constraint API 演示

96
0
0
0
多类型表单字段

工具内置了 10 个精心设计的表单字段,覆盖了最常见的输入类型和验证场景。表单验证演练场中,用户名字段演示了 required、minlength、maxlength 和 pattern 属性的组合使用;电子邮件字段使用 type=email 进行格式验证;密码和确认密码字段展示了 minlength、pattern 以及 setCustomValidity 的配合使用;年龄字段使用 min 和 max 限制数值范围;个人网站字段使用 type=url 验证 URL 格式;手机号码字段使用 type=tel 和 pattern 进行格式匹配;出生日期字段使用 required 和 max 属性限制日期上限;个人简介字段使用 maxlength 控制输入长度并实时显示字符计数;最后还包含一个必选的同意条款复选框。这些字段的设计覆盖了实际开发中最常见的表单验证需求。

Validity 实时检查器

页面右侧的 Validity 检查器是一个强大的调试辅助工具。当用户点击表单中的任意字段时,检查器会立即显示该字段对应的 validity 对象的全部 11 个布尔属性的状态值。这些属性包括 valid(是否通过所有验证)、valueMissing(必填字段是否为空)、typeMismatch(输入格式是否匹配 type 属性)、patternMismatch(输入内容是否匹配正则表达式)、tooShort(是否小于 minlength)、tooLong(是否大于 maxlength)、rangeUnderflow(数值是否小于 min)、rangeOverflow(数值是否大于 max)、stepMismatch(数值是否符合 step 步长)、badInput(浏览器是否无法解析输入)以及 customError(是否设置了自定义错误)。同时,检查器还会实时显示当前的 validationMessage 内容。

多种验证触发方式

工具提供了三种不同的验证触发方式,帮助开发者理解它们之间的区别和适用场景。提交表单按钮会触发浏览器的默认表单提交流程,在 novalidate 被移除的情况下会自动执行验证。checkValidity() 按钮会静默执行表单验证并返回布尔结果,不会显示任何浏览器原生的错误提示,适合在需要自定义错误展示的场景中使用。reportValidity() 按钮则会在检查有效性的同时触发浏览器显示原生的验证错误提示气泡,直接在第一个无效字段上弹出提示信息,适合在用户主动提交时调用。此外,重置表单按钮可以将所有字段恢复到初始状态,清除已填写的内容和验证状态。

数据填充与测试辅助

为了方便用户快速体验和测试,工具提供了两个便捷的数据填充按钮。填充有效数据按钮会自动在所有字段中填入符合验证规则的示例数据,用户可以直接看到验证通过时各字段的状态和 validity 对象的变化。填充无效数据按钮则会填入刻意违反各字段验证规则的数据,让用户直观地观察验证失败时的表现,包括浏览器原生的错误提示、validity 对象中各错误属性变为 true 的情况以及 validationMessage 的具体文本内容。这两个功能极大地提升了工具的学习和调试效率,让用户无需手动构造各种边界条件即可快速理解验证机制。

表单验证摘要

在表单区域下方,工具提供了一个表单验证摘要面板,用于汇总展示当前表单的整体验证状态。当用户执行提交或验证操作后,该面板会显示验证的执行结果,帮助开发者快速了解哪些字段通过了验证、哪些字段存在问题。配合右侧的 Validity 检查器,开发者可以全面掌握表单中每个字段的验证情况,从全局和局部两个维度理解表单验证的完整流程。这种设计使得本工具不仅是一个学习工具,也是一个实用的表单验证调试工具。