复现并修复一个表单 Bug
下载一个故意接受空姓名的表单练习包,把复现步骤交给 Codex,再用四种输入验证修复结果。
内容更新于
建议练习时间:约 25 分钟。准备:已能使用 Codex 的本地文件任务;准备浏览器与一个独立练习文件夹。
本课目录
准备:下载并解压练习包
这是本站编写的虚构教学表单,只在当前浏览器里显示结果,不提交数据、不连接业务服务器。下载 ZIP 后解压到独立文件夹,确认 form-bug.html、form-bug.css、form-bug.js 三个文件放在一起;保留一份原始副本。
先复现:空值也显示成功
打开原始文件
双击 form-bug.html,在浏览器里不填姓名,直接点“登记”。原版会错误地显示“已登记”。
再试三个空格
在姓名里输入三个空格再提交。原版仍错误地显示成功,说明不能只检查字符数大于零。
记录正常情况
输入“张三”并提交,记录成功文字。修复应保留正常输入的行为,避免只堵住空值却破坏原功能。
操作:把复现、期望和范围说完整
让 Codex 在练习文件夹里读取 form-bug.html,再发送下面的指令。先看它定位的原因和修改位置,完成后重新在浏览器打开或刷新这个文件。
请修复当前文件夹内 form-bug.html 的姓名校验问题。
复现:浏览器打开文件 → 不输入姓名直接点“登记”;或只输入三个空格再点“登记”。
实际:这两种情况都显示“已登记”。期望:显示“请输入姓名”,不显示成功内容。
正常姓名“张三”应显示“已登记:张三”;姓名两侧的空格应去掉;重复提交不刷新页面。
只修改姓名校验与相关提示,保留 HTML、CSS、JS 三个文件、教学说明和样式;不增加外部依赖或真实提交。
先定位原因再做最小修改。完成后说明修改点、实际运行的检查与无法执行的检查。结果对照:四种输入都要试
原版 name.length >= 0 对任何字符串都成立。参考修复思路是先 trim() 去掉首尾空白,再判断是否为空;不要求固定写法,但行为必须符合上面的清单。
- 特别检查先填“张三”成功、再删空并提交时,旧的成功结果是否被清除。
- 浏览器里看到的提示比回复里的“已修复”更有说服力。
空输入 → “请输入姓名”,不显示已登记
三个空格 → “请输入姓名”,不显示已登记
张三 → “已登记:张三”
张三 → “已登记:张三”(去掉两端空格)
以上情况重复提交 → 页面不刷新、不发送网络请求仍有问题:把失败输入原样给出来
- 空输入挡住了,空格没挡住:把“三个空格”的复现单独反馈,要求在校验前处理首尾空白。
- 修改后没有变化:确认打开的文件路径与修改路径一致,然后刷新;别误开原始副本。
- 错误提示出现但旧成功文字还在:补充先成功再删空的复现步骤,要求清理互相矛盾的提示。
- 修复新增了服务器或依赖:指出只需要本地校验,要求去掉额外功能并保留教学说明。
换成你的任务:使用同一份问题报告
真实项目里,继续提供复现步骤、期望、实际、报错、相关文件和验收方法。先保存可回退版本;不要只贴一句“不能用了”。本练习只验证前端姓名输入,真实表单接入后还需要服务器按业务规则验证。
复用 Codex 问题描述方法学完检查
逐项核对实际结果,再继续下一课。
- 能在原版复现空姓名与空格被接受的错误。
- 修复后四种输入全部符合预期,重复提交不刷新。
- 先成功再删空时,旧成功文字被清除。
- 仍是本地教学文件,没有真实提交或新依赖。
官方参考资料
练习资料、示例指令与结果对照由本站编写;以下官方资料用于核对工具用法,核对日期为 2026-10-03。界面、功能和账号可用范围可能调整,以实际客户端及官方说明为准。