フォーム
データの登録・編集に使う入力フォームのパターン。フィールドの構成・必須表示・エラー表示・ボタン配置の規則を定義する。
フィールドの構成
1 つの入力フィールドは 3 要素で構成される。
顧客名必須
例:山田太郎
電話番号必須
090-0000-000X
正しい形式で入力してくださいメモ任意
自由記入
キャンセル
保存
※ ワイヤーフレーム(後日差し替え)
- ラベル: 入力内容を端的に表す名詞で書く。「〜を入力してください」のような動詞表現は使わない。
- 入力コントロール: Input・Select・Combobox・Textarea・DatePicker など、データ型に合ったコンポーネントを使う。
- エラーメッセージ: 入力が不正なときのみ、コントロールの直下に表示する。何が間違いで、どう直せばよいかを具体的に伝える。
必須・任意の表示
すべてのラベルに必須または任意を明示する。
必須項目
ラベルの右に「必須」バッジを付ける。赤背景・赤文字の小さなラベルで視覚的に目立たせる。
任意項目
ラベルの右に「任意」テキストをグレーで添える。バッジではなくプレーンテキストにして、必須と明確に区別する。
どちらを基準にするか
フォーム内で必須が多い場合は任意のみ表示し、任意が多い場合は必須のみ表示する。両方同数の場合は必須を基準にする。
レイアウト
フィールドは縦に積む。
縦積みレイアウト
フィールドは常に縦方向に積む。横並びにするとラベルと入力の対応が取りにくくなるため、業務フォームでは使わない。フィールド間の余白は spacing-m を基準とする。
入力幅
入力幅は入力内容の期待される長さに合わせる。電話番号・郵便番号など短い値は幅を狭く、フリーテキストは広く設定する。フォームコンテナの最大幅は 640px を目安にする。
送信ボタンの配置
フォーム末尾の右端に配置する。
- 「保存」「登録」などの確定ボタンを右端に置く。
- 「キャンセル」は確定ボタンの左に並べる。
- ボタンエリアの上に区切り線(Separator)を入れてフィールド群と分離する。
- 送信中は確定ボタンを
disabledにしてラベルを「保存中…」に変える(Spinner は使わない)。