コンバーターの保護者姓名チェック:確認用の提案
状態:2026年9月21日、モック提示後の「実装して」を受けて、合意した動作を通常版コンバーターへ実装。本番アプリ・DBへの変更なし。
要望
「保護者①の姓・名を入力(元の氏名から推測はしません)」を無視して保存できるようにしたい。
現行仕様と今回の解釈
- 現行コンバーターは、保護者情報があるのに姓または名が空欄だと、家庭・園児の両CSVを保存できない。
- 取り込み先の
family_csv.py:plan_familyも、保護者の情報を1項目でも取り込むなら姓・名を要求する。警告だけの解除では取り込みに失敗する。 - このため「無視」を、姓名不足の保護者を今回の出力対象から外す選択として提案する。電話・メール等を含む、その保護者の10項目をCSV上で空欄にする。①②を詰め直さない。
- 家庭の住所・電話、園児、姓名が揃った別の保護者は残す。元の値は編集画面に保持する。
- 既存の家庭をID等で正しく指定した更新では、空欄は既存情報の削除を意味しない。
基準:配備記録 deployment-family-deletion-2026-09-21.md の 4b7f9be3069b5d46330824d5a4270c8a6a2028b4 に対応するローカルソース。通常版 tools/family-child-csv-converter.html と配備ソース内の同ファイルのSHA256一致を確認した。実機へ接続しての再検査は行っていない。
モックで提案する動作
- 家庭確認表の直前に「姓名が未入力の保護者を無視して続ける」を追加する。初期状態はオフ。
- オンにすると、対象に含めた家庭の、姓か名が欠ける保護者だけを出力から除外する。対象人数・元行・①②を表示し、表にも「今回は取り込まない」と示す。
- オフにすると、入力値を保ったまま再び検証対象に戻す。除外中の保護者欄は読み取り専用とし、オフにしてから編集する。
- 姓名を補えば通常どおり出力する。保護者欄が完全に空の家庭は除外人数に数えない。
- テンプレート未確認、家庭の重複、園児の必須項目、出力する保護者のメール不正、原本確認等の既存チェックは残す。
- オン・オフを切り替えたら、家庭CSVを保存し直してから園児CSVへ進む。実際の台帳登録はアプリ側の事前検証・確定時に行う。
- 元表の読み直しは従来どおり編集内容をリセットする。今回の無視設定もリセットする。
合意:姓名不足の保護者の10項目全体を今回のCSVから外す、一括チェックの操作で実装する。元の入力値は保持する。
確認用画面
node tools/guardian-skip-review/build.cjs で .local-dev/guardian-skip-review/index.html を生成する。現行画面の全入力項目を引き継ぎ、未入力・一部入力・入力済み・エラーを切り替えられる。
実ファイルの読み込みは無効。架空データだけを使い、保存ファイルには「確認用」を付ける。本番DB・送信処理への接続なし。現在使用中のコンバーターと別ページで試す。
モックの検証結果
node tools/guardian-skip-review/test.cjsが成功。10項目単位の除外、①②の順序保持、チェック解除、元値の保持、姓名修正後の出力復帰、他の保護者の検証、テンプレート・家庭競合・原本確認を検証した。- ブラウザーでチェック前の保存不可、チェック後の要確認0家庭・保存可能、チェック解除による元状態への復帰を確認した。
- 確認用家庭CSVを保存し、画面に表示したCSV本文で①の10項目が空欄、②の入力情報と家庭情報が保持されることを照合した。
- エラー状態では、①を除外しても②のメール不正によって家庭・園児両方の保存が引き続き無効になることを確認した。
- 新しいチェック・除外人数・家庭保存ボタンの表示を目視した。通常版と現在の実データの編集画面は変更していない。
通常版の実装・検証結果
tools/family-child-csv-converter.htmlに同じチェック・説明・対象一覧・読み取り専用表示を追加。①②それぞれ10項目を単位として出力だけを空欄にし、編集値を保持する。- チェック変更時は家庭CSVの保存済み判定を取り消す。元表・シート・照合用CSVの再読込や読み込み失敗時に、無視設定が以前の家庭から引き継がれないようにした。
tools/test-family-child-csv-converter.cjsが成功。実際のダウンロードファイルを読み戻して24列・BOM・保護者欄の空欄化・園児値の一致を検査した。①だけ/②だけの除外、解除、姓名の補完、出力対象園児の変更、原本確認・メール不正・園児入園日不足・家庭重複・旧テンプレートの拒否、再読込時の解除も確認した。- ブラウザーのJavaScriptエラー・外部通信は0件。追加表示を画面で目視し、合意したモックと照合した。差分の空白検査は成功。
- モックのビルダーは実装前commit
7a411e28bba20ccb8b566bc673dcd618c1a45d4cを参照するよう固定し、モックの再生成・独立テストも成功した。 - 本番アプリ・DB・既に開かれているページの入力データは変更していない。修正版を新しく開く場合、旧ページの編集内容は自動で引き継がれない。
追加の編集不具合の修正
保護者の姓から名へクリックで移る操作で、姓のchangeイベントによる表全体の再描画が次の入力欄を取り除き、入力先のフォーカスとその後の文字入力が失われることを架空データで再現した。Enterで各欄を確定するテストでは再現しなかった。
保護者20項目の編集では入力欄を作り直さず、モデル・確認文・保存ボタン・除外表示だけを更新するよう修正した。入力中に値の表示を書き換えず、カナ等の正規化は欄を離れるかEnterで確定する。原本の参考表示は引き続き保持する。画面上の修正をCSVに反映でき、元Excelの修正は不要。
修正前に失敗したクリック移動・続けて文字入力の再現手順が修正後は成功。既存のブラウザーテストへ入力直後の検証更新、フォーカス保持、修正した姓名を実保存CSVから読み戻す検査、カナ欄の連続編集を追加し、全項目が成功した。JavaScriptエラー・外部通信は引き続き0件。