实务专题 · 交付验收

保存草稿与正式发送,不能收到同一种请求

交付时真正要回答的问题

会员机构在同一表单提供“保存草稿”和“发送询盘”。若请求丢掉被点击的按钮,接收端可能无法区分两者。验收前应明确有限的操作代码及每项服务端规则,不能只看两颗按钮存在。

依据与可证明的范围

作为提交者且带name的提交按钮会贡献自己的值;requestSubmit可以指定提交按钮。 MDN · 2026年10月16日核对。

已填写的合成验收例子

合成教学例子,不是真实客户记录。先看输入与预期,再运行下方隔离的浏览器练习。表格窄屏可横向滚动;字段名和示例值保留原样,方便与测试源码对照。

输入检查预期
name=action value=draftFormData(form, draftButton)action=draft
name=action value=sendFormData(form, sendButton)action=send
FormData(form) without submitter操作证据没有action字段

怎样核验,不只看界面

  1. 定义保存草稿和正式发送各自所需字段与权限。
  2. 在浏览器练习中对照两种提交者载荷。
  3. 确认接收测试端拒绝未知action,且不把草稿当成已发送消息。

怎样解释结果

练习只区分意图,不会真实保存或发送。服务端应对白名单操作独立执行校验和授权。交付保留两份载荷及两个测试状态。按钮显示文案可翻译,稳定操作代码不应跟着悄悄改变。

明确不证明什么

需核对支持浏览器范围内的FormData提交者参数;本例不实现工作流或邮件送达。

可运行练习与交付记录

打开浏览器验收练习 · 查看可读测试源码。练习只在浏览器内创建临时元素,使用合成内容,不读取账号、不上传文件、不发送邮件或表单。记录被测浏览器版本、检查名、实际值与通过状态。真实集成结果另记,不能用本地通过代替。