Skip to content

fix(web): 校验失败的 message 给出可读原因 - #353

Merged
minorcell merged 1 commit into
1024XEngineer:mainfrom
johnnyzhang-eng:fix/readable-validation-message-v2
Aug 17, 2026
Merged

fix(web): 校验失败的 message 给出可读原因#353
minorcell merged 1 commit into
1024XEngineer:mainfrom
johnnyzhang-eng:fix/readable-validation-message-v2

Conversation

@johnnyzhang-eng

Copy link
Copy Markdown
Contributor

Summary

请求参数校验失败时,message 恒为「请求参数校验失败」,真实原因只在 data 里。前端展示的是 message,所以用户看到的是一句读不懂的通用文案,无法据此改正输入。

改为取第一条校验错误的 msg 原文,取不到时退回原文案。data 不变。

pydantic 会给自定义 ValueError 的原文加上 Value error, 前缀,对用户是噪声,剥掉后再返回。

以自定义动作为例:提交空 custom_prompt 时,原来返回「请求参数校验失败」,现在返回「custom 动作必须提供 custom_prompt」。

Closes #336

Test plan

  • uv run ruff check . → All checks passed
  • uv run lint-imports → 2 kept, 0 broken
  • uv run python -m scripts.export_openapi && git diff --exit-code -- ../openapi.json → 无漂移
  • uv run pytest -q → 718 passed, 14 skipped
  • 新增用例断言 message 不等于原文案、含具体原因、且不以 Value error, 开头

@vercel

vercel Bot commented Aug 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
windup Ignored Ignored Preview Aug 17, 2026 8:36am

@codecov

codecov Bot commented Aug 17, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.88889% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...p/src/windup_app/web/handler/exception_handlers.py 88.88% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

审查结论

本次改动按 issue 约定从完整校验明细中提取第一条非空 msg,仅移除 Pydantic 自定义 ValueError 前缀,并保留原有 data 明细与兜底文案。检查了异常处理器、实际 custom_prompt 校验入口、前端业务错误消费路径及新增回归用例,未发现会阻碍合入的正确性或兼容性问题。

验证:固定 SHA 差异通过 git diff --check,修改的 Python 文件通过 py_compile;PR 的 lint-and-test、前端检查和 patch coverage 均通过。本地未重复运行 pytest,因为执行环境未安装 uv 及项目依赖。

View job run

@minorcell minorcell left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@minorcell
minorcell merged commit 549432a into 1024XEngineer:main Aug 17, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(web): 校验失败的 message 给出可读原因

2 participants