nullable 項目のフォーム初期値は null と undefined を区別する
フロントエンド
設計
バグ
nullable (未入力を null で表す)項目のフォーム初期値変換で、null を一律に既定値(0 等)へフォールバックすると、既存レコードの未入力値が他項目編集の保存時に既定値で上書きされる不具合が起きる(未入力検索の結果も変わる)。原則: フォームに値が未定義(undefined)のときだけ既定値へフォールバックし、null は null のまま保持して初期値へ渡す。表示側も同様に、値が null の場合は 0 フォールバックせず空表示(未入力表示)に分岐する。「未入力」と「0」は意味が異なるため、null/undefined/0 のセマンティクスを崩さないことが重要。