Files
vscode-workbench/PLANNING/tasks/D-04-前端表单校验与分页.md

50 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# D-04 · 前端表单校验与分页补全(Voucher/Channel/StorefrontAdmin)
| 字段 | 值 |
|---|---|
| 项目 | dealerhub · `Desktop/gj/dealerhub/frontend`(+ 必要的后端支持) |
| 优先级 | P1 · M3 |
| 建议模型 | glm-5.3-flash(主)/ deepseek-v4.1-flash(复核) |
| 依赖 | 无(与 D-03 并行安全——不同文件域) |
| 预估 | 1.5-2 天 |
## 一、背景(为什么做)
dealerhub 迭代 5 自列"下一轮最高价值项"第 4 条:**Voucher、Channel、StorefrontAdmin 三个模块的前端缺完整表单校验与分页**(`backend/PROGRESS_AGI_ITERATION_5.md`)。后端能力已存在(channel/storefront 等 app),前端没跟上——业务员用起来会踩空。
## 二、目标(交付物)
1. **盘点三模块现状**:Voucher(凭证)、Channel(渠道/电商转单)、StorefrontAdmin(商城管理)各页面的表单字段与列表——标出缺校验的字段、缺分页的列表。
2. **表单校验补全**:
- 必填、类型、长度、数值范围(金额为正、数量为正整数等)
- 日期逻辑(起止日期先后)
- 提交前统一校验 + 错误提示对齐各页面现有 UI 惯例
3. **分页补全**:三个模块的列表接入现有分页组件(对齐项目已有列表页的写法与参数)。
4. **前端单测**:复用项目 `npm test`(node --test)模式,为校验规则与分页参数拼接写断言(对齐 `src/utils/transaction.js` 的既有测试风格)。
## 三、验收标准
- [ ] 三模块的每个表单:非法输入(空必填/负金额/超长文本)在前端被拦截并给出提示(附手工验证记录)
- [ ] 三个列表:分页可翻页、页大小可调、总数据一致(与后端 total 对上)
- [ ] 前端单测新增 ≥6 条且全绿(`npm test`)
- [ ] `npm run build` 通过
- [ ] 与既有页面交互风格一致(不引入新 UI 库)
- [ ] 后端不改(若发现缺接口则记 PROGRESS 遗留,不顺手改)
## 四、验收命令(参考)
```bash
cd frontend && npm test && npm run build
# 手工:三模块各构造一组非法输入 + 翻页验证
```
## 五、边界
- 不重做页面(只补校验与分页)
- 不引入新依赖(如校验库——用手写规则对齐项目现状)
- 不改后端契约
## 六、交接
写 `PROGRESS_D-04.md`(含单测输出、手工验证记录)。