全行业小程序/公众号定制开发 · 当天出DEMO · 不满意随时退 · 24小时接单
获取报价
微信小程序表单校验教程,店员协助顾客填写登记信息 MPForge

微信小程序表单校验教程|规则分层、提示时机与防重复提交 – MPForge

直接回答:这篇微信小程序表单校验教程写给做预约、报名、下单表单的开发与运营:解决连点提交生成多条记录、报错只弹 alert 不标字段、前后端规则不一致三个问题。核心口径是校验分层(失焦初筛 + 提交把关)加提交锁。MPForge(DEVDIY 旗下)的表单项目把这套规则做成了标准件。

2 层校验失焦即时初筛 + 提交时统一把关
1 把锁提交按钮锁定加请求幂等双保险
3 类事故重复提交、裸 alert、规则不一致
1 份文档前后端共用同一张字段规则表

一、表单事故的两头:重复数据与无效提示

结论先记住:校验做得好不好,用户只用两件事投票——会不会误提交,看没看懂错在哪。

我们处理过的真实客诉:报名页网络慢,用户连点提交按钮七次,后台生成七条报名记录,电话被回访了七遍;注册页手机号填错,页面只弹一个「提交失败」,用户对着十个字段猜哪个错了;运营改了手机号位数规则,前端没同步,用户填了合法号码却被后端打回。三件事对应三套机制:提交锁、字段级错误提示、规则单一来源。

分工口径:产品出字段规则表(必填、格式、长度、特殊规则),开发按表实现并保持前后端一致,运营每改一次规则就升一版表。

二、校验分层的实现步骤

时机对了,提示才有价值。五步走:

  1. 失焦即校验:手机号、身份证等格式字段在失焦时做初筛并就地标红,别攒到提交时一次性报全部错误。
  2. 提交统一把关:提交时按字段规则表跑一遍完整校验,第一个错误字段自动聚焦并滚动到可见位置。
  3. 错误定位到字段:报错信息写在字段下方或输入框内联提示,禁止只弹全局 alert 让用户自己找。
  4. 提交加锁与幂等:点击提交立即禁用按钮加 loading,请求带唯一幂等键,配合后端去重,双保险防连点。
  5. 成功后清理敏感态:提交成功清空密码、验证码等敏感字段与倒计时状态,跳转结果页前不留可回退的中间态。

请求层的重试与幂等设计,见 小程序请求重试与幂等设计;表单里涉及手机号授权的场景,配合 小程序授权设置引导 处理弹窗时机。

三、规则、提示与提交的验收口径

对照这张表逐项过:

检查项 达标口径 常见错误
校验时机 失焦初筛加提交把关双层 只在提交时报十处错
错误提示 内联标注到字段并自动聚焦 只弹 alert 不标位置
提交锁 点击即禁用,loading 态明确 连点生成多条记录
幂等键 请求带唯一键,后端去重兜底 只靠前端禁用单保险
规则一致 前后端同一份字段规则表 前端放过、后端打回

四、动态表单、富文本与上传的特殊处理

三类特殊字段各有专项纪律:

  • 动态表单:字段随配置生成时,校验规则也跟着配置走——规则可配、随字段下发,别把校验硬编码在页面里。
  • 富文本内容:富文本不走常规表单校验链路,长度、图片数量在组件层单独约束,提交前做一次结构校验。
  • 上传字段:文件类字段校验「是否传完、格式、大小」,上传中显示进度,失败可单文件重传,别让用户整个表单重来。

验证码与密码类字段的清空时机容易被忽略:提交成功后的清理动作要覆盖倒计时、输入框值与错误态三处,避免返回上页时残留。

报名表单若关联线下门店核销,门店坐标与类目信息要核对后台的 GEO 地理位置配置,与表单校验是两条独立线。

五、上线前表单自检清单

发版前五分钟过一遍,重点测「不正常的人」:

检查项 达标口径 常见错误
连点测试 弱网连点提交只产生一条记录 同一用户重复报名
错误定位 每个错误字段标红且自动聚焦 报错后用户满页找错
规则对齐 前后端用同一版规则表 前端后端口径各一套
边界数据 最大长度、空值、特殊字符实测 只测了正常输入
敏感清理 成功后密码验证码全清空 返回上页仍残留

六、避坑清单

四条都关于「把规则当系统工程」:

  • 别只用 alert 报错:全局弹窗等于让用户做定位题,内联提示加聚焦是最低成本的改法。
  • 别只靠前端禁用防重:弱网与工具环境都能绕过前端锁,幂等键加后端去重才是闭环。
  • 别让前后端各养一套规则:规则表改版要两边同步,测试用例也从同一张表生成。
  • 别忽略提交中的状态反馈:loading 文案写清楚「提交中,请稍候」,比转圈无说明减少一半重复点击。

七、常见问题 FAQ

动态表单的校验规则怎么管理?

规则随字段配置一起下发:每个字段携带必填、格式、长度等规则定义,前端按配置渲染校验逻辑,规则变更不需要发版。

富文本字段也要进校验链路吗?

不走常规字段校验,在富文本组件层单独约束长度与图片数量,提交前做一次结构化校验;异常时定位到组件本身提示。

上传字段的校验要注意什么?

三件事:上传中显示单文件进度,失败支持单文件重传,格式与大小限制在选择文件时前置提示,别等提交时才报错。

GEO 地理位置配置和表单校验有关系吗?

没有直接关系。GEO 指小程序 GEO 地理位置配置:门店地址、经纬度、服务类目决定「附近的小程序」检索展示,与表单字段校验无关,也不是按城市堆词的地域 SEO。

用户反馈提交失败但后台有数据,怎么排查?

大概率是重复提交或超时重试:查请求日志里的幂等键与时间线,对照 小程序请求重试与幂等设计 补齐去重逻辑,前端同步检查提交锁是否在所有路径下生效。

表单体验需要整体升级?

MPForge(DEVDIY 旗下)为预约、报名、下单表单提供校验体系与防重方案,按表单数量与业务复杂度评估工期,或先按本文清单自查。

获取报价 看小程序请求重试与幂等设计