从零学用 Codex 搭网站 Day 6:做一个真的会反馈结果的表单
从零学用 Codex 搭网站第 6 天:带前后端校验、加载状态、成功与失败提示的邮箱表单。
作者:利他外贸 · 更新于按钮能点,不代表功能能用。今天做一个最小订阅表单:输入不对要说人话,提交成功要有反馈,服务异常也不能装死。
这篇是 从零学用 Codex 搭网站 的第 6 天。今天的最小可用单元只有一个:带前后端校验、加载状态、成功与失败提示的邮箱表单。
先别收藏更多教程。打开 Codex,做完,看到结果,再回来继续。
今天只拿走一个结果
带前后端校验、加载状态、成功与失败提示的邮箱表单。
你需要准备的输入也很少:字段只有邮箱;先允许无外部邮件服务时安全返回登记状态。
如果这些输入还没有,先写“不确定”。真实的不确定,比让 Codex替你编一个答案有用。
第一轮对话:先让 Codex理解现场
把下面这段复制给 Codex。方括号里的内容换成你自己的。别删限制条件。
请把现有订阅表单做成可验证的完整流程。
要求:
1. 前端校验邮箱并禁用重复提交;
2. POST 到站内 API;
3. 服务端再次校验、规范化邮箱;
4. 成功、格式错误、服务异常分别显示中文反馈;
5. 密钥只从环境变量读取;
6. 不在日志中打印完整邮箱。
先画出请求流程,再实现和测试。发出去以后,不要趁它工作时继续塞十条要求。等它完成第一轮,看它检查了什么、改了哪些文件或引用了哪些证据。
第二轮:你亲手验收,不靠“看起来不错”
今天重点检查:空邮箱、错误邮箱、正常邮箱、连续点击、接口异常五种状态;浏览器控制台是否报错;密钥有没有进入前端包。
看到问题时,描述现象,不要抢着替它诊断。比如说“390px 宽度下右边被裁掉”,比“CSS 的 grid 写错了”更好。前者是事实,后者只是你的猜测。
接着发这段纠偏对话:
请不要只测成功路径。为订阅接口列出至少 5 个失败用例,逐一执行能执行的测试。若没有外部邮件服务,明确区分“已接收请求”和“邮件已发送”,不要假装发信成功。怎么判断它真的理解了
网站任务里,Codex说“完成了”只是一个进度提示,不是验收结论。真正的证据通常只有几种:构建命令退出码为 0、目标 URL 返回正确状态、页面截图符合预期、自动测试覆盖了核心路径、改动清单与任务范围一致。让它把证据摆出来,你再判断。
如果改动突然扩散到很多文件,先停下来问:“为了完成今天这个结果,哪些文件是必要的?哪些只是顺手优化?” 新手最容易被一大串改动吓住,于是直接接受。其实缩小 diff 本身就是在学习系统边界。
还有一个土办法很好用:让 Codex在交付时写出“我没有做什么”。没有接数据库、没有做后台、没有配置真实邮件,都应明确写出来。知道当前版本的边界,明天才能接得上。
一个很容易踩的坑
只做一个弹窗写“提交成功”。没有服务端接收、没有错误路径,这只是表演,不是功能。
我现在判断提示词好不好,只看三件事:输入是不是事实,范围是不是够小,完成以后能不能验收。句子漂不漂亮,反而排在后面。
今天先别做这三件事
第一,别在任务做到一半时换技术、换表格或换一套提示词。工具切换会给人一种重新开始的轻松感,但旧问题没有因此消失。
第二,别把 Codex 的解释全部抄进笔记。只记你下次还会用的输入、判断和验收动作。其余说明随时可以再问。
第三,别把“多做一点”当奖励。今天的边界本身就是训练内容。能在最小成果通过后停手,说明你开始掌握任务拆分,而不是被新点子牵着走。
今天的 20 分钟刻意练习
打开浏览器开发者工具,把网络切成离线后提交一次。回来让 Codex修正那条最难懂的错误提示。
练习时别开新教程,别换工具。卡住就把现场交回 Codex:你做了什么、预期什么、实际发生什么、原始错误是什么。
如果还是没做成,不要用“重新帮我做一次”清空现场。把最后一个成功状态、第一处失败、原始输出和你已经试过的动作写成四行。下一轮只解决第一处失败。这个习惯会让你少掉很多无效重来。
下班前的验收单
- [ ] 前后端都校验
- [ ] 重复提交被阻止
- [ ] 失败提示可行动
- [ ] 密钥未进入源码
四项都过,今天就停。没过也别扩功能,只修最前面那一项。
留一条“明天还能接上”的记录
在项目里写下四行:
- 今天做成了什么;
- 哪个输入最影响结果;
- Codex 哪次判断错了,你用什么证据纠正;
- 明天开始前必须保持不变的东西。
这四行比再收藏十个提示词值钱。它们会逐渐变成你的工作说明、测试清单,最后才是可复用的 Skill。
少量资源不是少学,而是让资源短到足以马上行动。今天的教程到这里,剩下的时间交给你的手。
常见问题
第 6 天需要会写代码吗?
不需要。你需要做的是提供真实输入、限制任务范围、检查结果,并把错误原样交回 Codex。
可以一天完成多篇吗?
可以先读,但建议每天至少亲手完成一个最小成果。看懂提示词不等于形成技能。
Codex 给出的结果和教程不同怎么办?
先保留现场,提供目录、错误、截图或测试结果,让 Codex解释差异并做最小修正,不要立刻要求推倒重来。