hwc-forms-validation について
Turbo Frames と Stimulus を使ったフォーム中心のワークフローを実装するスキルです。一般的なフォーム構成や検証時の応答、再描画時にユーザーの操作状況を保つ方法を扱います。
主な機能
- 01一般的なフォームフローの特定
- 02Turbo Frames によるインライン再描画
- 03検証と成功時の応答設定
- 04フォーカスと選択範囲の保持
- 05フォーム資料の選択的な参照
活用シーン
- 01インライン編集フォームの構築
- 02モーダル検証フローの作成
- 03タイプアヘッド検索の実装
- 04Frame 外部のコントロールへの対応
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ thehotwireclub/ hotwire_club-skills --skill hwc-forms-validationインストール後、Claude Code で/hwc-forms-validationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/2023-11-07-turbo-frames-typeahead-search.md2024-01-16-stimulus-action-parameters.md2024-02-27-turbo-frames-inline-edit.md2024-05-21-turbo-frames-modals-validation.md2025-10-20-turbo-frames-typeahead-validation.md2026-02-03-turbo-frames-external-form.md2026-03-24-turbo-frames-chained-selects.mdINDEX.md詳細
フォームとバリデーション
Turbo Frames と Stimulus を使って、フォーム中心の Hotwire ワークフローを実装します。
コアワークフロー
- フォームの流れを特定します:作成/編集、インライン編集、入力補完、モーダルフォーム、または外部コントロール。
- バリデーションエラーをその場で再描画する必要がある場合は、フォームの操作範囲を Turbo Frame で囲みます。
- バリデーションに失敗した場合は
422、リダイレクトが成功した場合は303を返します。 - Turbo のデフォルトの動作では不十分な場合に限り、
turbo:submit-endで送信後の動作を処理します。 - 再描画時もユーザーのコンテキスト(フォーカス/キャレット/選択範囲)を維持します。
ガードレール
- 入力状態の情報源は1つに保ち、フレーム内とフレーム外の DOM にコントロールを重複して配置しないでください。
- 対象の
<form>階層の外にレンダリングされるコントロールには、HTML のform属性を使用します。 - デバウンス/スロットルなしで、キー入力のたびに送信ロジックを実行しないでください。
- フォームのレスポンスがフレームのみを更新する場合は、送信後の動作を明示してください。
必要なリファレンスのみを読み込む
現在のリクエストに必要なファイルのみを開いてください。
- インライン編集:
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 - フレーム内の外部フォームコントロール:
references/2026-02-03-turbo-frames-external-form.md - フォームの Stimulus アクションパラメーター:
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 対応