mcpField
H
hwc-forms-validation

hwc-forms-validation

github.com/thehotwireclub开发152229 次安装3 周前更新
代码仓库

关于 hwc-forms-validation

面向使用 Turbo Frames 和 Stimulus 构建表单流程的技能,涵盖常见表单模式、验证响应,以及重新渲染时保留用户上下文。

主要功能

  1. 01识别常见表单流程
  2. 02用 Turbo Frames 原位重新渲染
  3. 03设置验证与成功响应
  4. 04保留焦点与选区
  5. 05按需查阅表单参考资料

适用场景

  1. 01构建行内编辑表单
  2. 02创建模态框验证流程
  3. 03实现输入提示搜索
  4. 04处理 Frame 外部的控件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thehotwireclub/hotwire_club-skills --skill hwc-forms-validation

安装后在 Claude Code 中输入/hwc-forms-validation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
2023-11-07-turbo-frames-typeahead-search.md
2024-01-16-stimulus-action-parameters.md
2024-02-27-turbo-frames-inline-edit.md
2024-05-21-turbo-frames-modals-validation.md
2025-10-20-turbo-frames-typeahead-validation.md
2026-02-03-turbo-frames-external-form.md
2026-03-24-turbo-frames-chained-selects.md
INDEX.md

详细介绍

表单与验证

使用 Turbo Frames 和 Stimulus 实现以表单为核心的 Hotwire 工作流。

核心工作流

  1. 确定表单流程:创建/编辑、行内编辑、输入提示、模态表单或外部控件。
  2. 当验证错误必须在原位置重新渲染时,将表单交互范围包裹在 Turbo Frame 中。
  3. 验证失败时返回 422,成功重定向时返回 303。
  4. 仅当 Turbo 默认行为不足时,才使用 turbo:submit-end 处理提交后的行为。
  5. 重新渲染时保留用户上下文(焦点/光标/选区)。

防护原则

  • 为输入状态保留唯一事实来源;避免在 frame 和非 frame DOM 中重复控件。
  • 对于渲染在目标 <form> 层级之外的控件,使用 HTML form 属性。
  • 避免不经防抖/节流就在每次按键时触发提交逻辑。
  • 当表单响应仅更新一个 frame 时,明确指定提交后的行为。

有选择地加载参考资料

仅打开当前请求所需的文件。

  • 行内编辑:references/2024-02-27-turbo-frames-inline-edit.md
  • 模态验证流程:references/2024-05-21-turbo-frames-modals-validation.md
  • 输入提示搜索:references/2023-11-07-turbo-frames-typeahead-search.md
  • 带焦点处理的输入提示验证:references/2025-10-20-turbo-frames-typeahead-validation.md
  • Frame 中的外部表单控件:references/2026-02-03-turbo-frames-external-form.md
  • 表单的 Stimulus action 参数:references/2024-01-16-stimulus-action-parameters.md
  • 依赖/级联选择字段:references/2026-03-24-turbo-frames-chained-selects.md

完整目录请参阅 references/INDEX.md。

转交给相关技能

  • 导航/历史记录/缓存行为:使用 hwc-navigation-content
  • WebSocket 或 Turbo Stream 推送更新:使用 hwc-realtime-streaming
  • 媒体上传/播放行为:使用 hwc-media-content
  • 通用 UX 润色(加载指示器/进度/过渡效果):使用 hwc-ux-feedback
  • 一般 Stimulus API 设计问题:使用 hwc-stimulus-fundamentals

评论

支持 Markdown