表单验证规则测试 - Constraint API
设置不同验证属性和自定义消息,测试HTML5表单验证触发效果。
UD5工具箱
基于 HTML5 Constraint Validation API,实时体验浏览器原生验证能力。修改任意字段查看效果。
点击表单字段查看其 validity 对象详情
—
required、pattern、min、maxlength 等)定义验证规则,并使用 JavaScript 的 checkValidity()、reportValidity() 以及 validity 属性对象来检查和获取验证状态,无需引入第三方验证库。
validity 对象包含以下布尔属性:valid — 所有验证均通过valueMissing — 必填字段为空typeMismatch — 输入值不符合 type 指定的格式(如 email、url)patternMismatch — 输入值不匹配 pattern 正则表达式tooShort — 输入长度小于 minlengthtooLong — 输入长度大于 maxlengthrangeUnderflow — 数值小于 minrangeOverflow — 数值大于 maxstepMismatch — 数值不符合 step 步长badInput — 浏览器无法解析输入(如 number 字段输入了非数字)customError — 通过 setCustomValidity() 设置了自定义错误
setCustomValidity(message) 用于设置自定义验证错误消息。传入非空字符串会使字段验证失败,validity.customError 变为 true。传入空字符串则清除自定义错误。常见场景包括:密码确认匹配、两个日期范围的比较、条件必填等。示例:input.setCustomValidity('两次密码不一致');
checkValidity() — 静默检查表单/字段是否有效,返回布尔值,不会显示浏览器的错误提示气泡。适合在提交前做静默判断。reportValidity() — 检查有效性并触发浏览器显示验证错误提示(通常在第一个无效字段上显示气泡提示),也返回布尔值。适合在用户点击提交时调用。
novalidate 属性禁用浏览器的默认表单验证行为(提交时自动弹出验证提示),让开发者完全通过 JavaScript 控制验证流程和UI展示。当你需要自定义验证提示样式、异步验证、或分步表单时,通常会添加此属性,然后手动调用 checkValidity() 或 reportValidity()。
pattern 的正则表达式会自动添加 ^(?: 和 )$ 包裹,即默认要求完全匹配整个输入值^ 和 $/g、/i)不能通过HTML属性设置,需要时使用 JavaScript 验证设置不同验证属性和自定义消息,测试HTML5表单验证触发效果。
在单页内模拟MPA过渡效果,自定义进场/出场动画,体验View Transitions API丝滑切换。
使用原生HTML Popover属性创建提示、菜单与对话框,展示四种触发方式及样式定制。
展示一些常用内置HTML元素和自定义元素例子,提供代码复制。
覆盖加载、渲染、安全、可访问性等领域的自查清单,勾选后生成得分与建议。
枚举连接的显示器,并在特定的屏幕上打开新窗口,体验现代多显示器Web应用。
定义字段名称和类型(姓名、邮箱、数字范围等),批量生成符合规则的 JSON 模拟数据。
生成实现点击锚点平滑滚动到目标位置所需的JS代码及CSS scroll-behavior。
使用Service Worker拦截fetch请求,并返回用户自定义的JSON模拟数据,用于前端独立开发。
定义端点、JSON响应体和延迟毫秒,模拟后端API供前端本地开发调试。
通过注册CSS属性的类型和初始值,演示如何让渐变等属性实现平滑动画。
对比 ES Module 和经典脚本的变量作用域、严格模式以及执行时机。
利用 `:target` 伪类创建无需JavaScript的弹窗组件,支持关闭按钮和遮罩层。
粘贴Link rel=preload头字段,解析展示服务器计划推送的资源列表。
粘贴代码自动进行语法高亮显示,支持主流编程语言,生成带行号的HTML代码块,方便嵌入博客。
将HTML标记转换为Pug(原Jade)的缩进语法模板,去除尖括号,让模板开发更快速。
生成形似iOS或Android的开关切换按钮,支持动画和自定义颜色。
向任意输入URL发送请求,清晰显示响应状态码、头信息和体,类似轻量级Postman。
记录页面交互触发的所有DOM事件及其目标、冒泡阶段,以日志和瀑布形式展示。
对简单混淆的JS进行格式化,并尝试将短变量名替换为更具描述性的名称,提高可读性。
交互式调整滚动条宽度、滑块颜色、圆角等,预览容器滚动效果,复制::-webkit-scrollbar代码。
将普通CSS代码转换为Styled Components的模板字符串格式。
上传序列帧图片,合成spritesheet并生成对应CSS steps()帧动画代码。
生成用于网页各区块间的波浪或倾斜过渡分割线,导出为SVG或CSS代码。
设置总页数与当前页,生成数字式或省略式分页导航条。
选择平台和分享参数,生成分享到Twitter、Facebook、WhatsApp等的URL链接及按钮。
粘贴自定义图标字体的Unicode,调节尺寸颜色立即查看效果。
配置字体、颜色、背景,生成可粘贴到浏览器控制台的%c格式化日志代码。
生成点击导航平滑滚动到对应Section并高亮当前菜单项的完整代码。
拖拽文本框、下拉框、单选复选等元素,排列组成表单,导出整洁的HTML表单结构代码。