質問タイプ
md2formは豊富な質問タイプをサポートしており、様々なフォームのニーズに対応できます。このページでは、すべての質問タイプとその使用方法を詳しく説明します。
テキスト入力系
short_text - 短いテキスト入力
1行のテキスト入力フィールドです。名前、タイトルなどの短い文字列の入力に使用します。
### お名前
#type short_text
#placeholder "山田 太郎"
#required true
#maxLength 50サポートされるプロパティ:
placeholder: プレースホルダーテキストmaxLength: 最大文字数default: デフォルト値required: 必須入力visible: 表示/非表示
long_text - 長いテキスト入力
複数行のテキスト入力フィールドです。コメント、意見、詳細な説明などに使用します。
### ご意見・ご要望
#type long_text
#placeholder "ご自由にお書きください"
#maxLength 1000
#richText trueサポートされるプロパティ:
placeholder: プレースホルダーテキストmaxLength: 最大文字数default: デフォルト値richText: リッチテキスト編集の有効化required: 必須入力visible: 表示/非表示
email - メールアドレス入力
メールアドレス専用の入力フィールドです。自動的に形式検証が行われます。
### メールアドレス
#type email
#placeholder "example@example.com"
#required true
#allowMultiple falseサポートされるプロパティ:
placeholder: プレースホルダーテキストdefault: デフォルト値allowMultiple: 複数メールアドレスの許可required: 必須入力visible: 表示/非表示
phone - 電話番号入力
電話番号専用の入力フィールドです。
### 電話番号
#type phone
#placeholder "090-1234-5678"
#countryCodeRequired falseサポートされるプロパティ:
placeholder: プレースホルダーテキストcountryCodeRequired: 国コードの必須入力default: デフォルト値required: 必須入力visible: 表示/非表示
数値入力系
number - 数値入力
数値専用の入力フィールドです。年齢、価格、数量などの数値データに使用します。
### 年齢
#type number
#min 0
#max 120
#step 1
#placeholder "数値で入力"
#integerOnly trueサポートされるプロパティ:
placeholder: プレースホルダーテキストmin: 最小値max: 最大値step: 刻み値default: デフォルト値integerOnly: 整数のみ許可required: 必須入力visible: 表示/非表示
選択系
dropdown - ドロップダウン選択
ドロップダウンメニューから1つの選択肢を選ぶフィールドです。
### 都道府県
#type dropdown
#options "東京都","大阪府","愛知県","神奈川県","その他"
#searchable true
#allowOther falseサポートされるプロパティ:
options: 選択肢のリスト(カンマ区切り)allowOther: その他選択肢の許可default: デフォルト選択値searchable: 検索機能の有効化required: 必須選択visible: 表示/非表示
radio - ラジオボタン選択
ラジオボタンによる単一選択フィールドです。選択肢が少ない場合に適しています。
### 性別
#type radio
#options "男性","女性","その他","回答しない"
#allowOther falseサポートされるプロパティ:
options: 選択肢のリスト(カンマ区切り)allowOther: その他選択肢の許可default: デフォルト選択値required: 必須選択visible: 表示/非表示
checkbox - チェックボックス選択
チェックボックスによる複数選択フィールドです。
### 興味のある分野
#type checkbox
#options "AI・機械学習","ウェブ開発","モバイルアプリ","データサイエンス","デザイン"
#minSelected 1
#maxSelected 3サポートされるプロパティ:
options: 選択肢のリスト(カンマ区切り)minSelected: 最小選択数maxSelected: 最大選択数default: デフォルト選択値のリストrequired: 必須選択visible: 表示/非表示
日時系
date - 日付選択
日付選択フィールドです。
### 生年月日
#type date
#includeTime false
#minDate "1900-01-01"
#maxDate "2024-12-31"サポートされるプロパティ:
includeTime: 時刻も含めるかどうかminDate: 最小日付(ISO形式)maxDate: 最大日付(ISO形式)default: デフォルト日付required: 必須入力visible: 表示/非表示
time - 時刻選択
時刻選択フィールドです。
### 希望時間
#type time
#minTime "09:00"
#maxTime "18:00"
#stepMinutes 30サポートされるプロパティ:
minTime: 最小時刻(“HH:MM”形式)maxTime: 最大時刻(“HH:MM”形式)stepMinutes: 時刻の刻み(分)default: デフォルト時刻required: 必須入力visible: 表示/非表示
評価・スケール系
rating - 星評価
星アイコンによる評価フィールドです。
### サービス満足度
#type rating
#scale 5
#labels "不満","とても満足"
#icon starサポートされるプロパティ:
scale: 評価の段階数(例: 5段階評価)labels: 最低・最高評価のラベルicon: アイコンタイプ(star, heart, circle)default: デフォルト評価required: 必須入力visible: 表示/非表示
likert - リッカート尺度
複数の項目について同一の尺度で評価するフィールドです。
### 授業評価
#type likert
#statements "内容の理解しやすさ","講師の説明力","資料の充実度","演習の適切さ"
#scaleLabels "全くそう思わない","そう思わない","どちらでもない","そう思う","とてもそう思う"
#requiredPerStatement trueサポートされるプロパティ:
statements: 評価項目のリストscaleLabels: 評価尺度のラベルrequiredPerStatement: 各項目の必須評価required: 必須入力visible: 表示/非表示
matrix - マトリクス(格子)
行と列の組み合わせによる評価・選択フィールドです。
### 週間スケジュール
#type matrix
#rows "月曜日","火曜日","水曜日","木曜日","金曜日"
#columns "午前","午後","夜"
#cellType radio
#requiredPerRow trueサポートされるプロパティ:
rows: 行のラベルリストcolumns: 列のラベルリストcellType: セルのタイプ(radio, checkbox, number, short_text)requiredPerRow: 各行での必須選択required: 必須入力visible: 表示/非表示
scale - スケール(スライダー)
数値範囲でのスライダー評価フィールドです。
### 英語レベル自己評価
#type scale
#min 1
#max 10
#step 1
#minLabel "初心者"
#maxLabel "ネイティブレベル"サポートされるプロパティ:
min: 最小値max: 最大値step: 刻み値minLabel: 最小値のラベルmaxLabel: 最大値のラベルdefault: デフォルト値required: 必須入力visible: 表示/非表示
ファイル・署名系
file_upload - ファイルアップロード
ファイルのアップロード機能です。
### 履歴書添付
#type file_upload
#allowedTypes "pdf","docx","doc"
#maxFiles 1
#maxSizeMB 10サポートされるプロパティ:
allowedTypes: 許可するファイル形式maxFiles: 最大ファイル数maxSizeMB: 最大ファイルサイズ(MB)required: 必須アップロードvisible: 表示/非表示
signature - 電子署名
電子署名の入力フィールドです。
### デジタル署名
#type signature
#captureMode draw
#required trueサポートされるプロパティ:
captureMode: 署名方法(draw, type, upload)required: 必須署名visible: 表示/非表示
メディア・表示系
image - 画像表示
画像を表示するフィールドです(入力ではなく表示用)。
### 商品画像
#type image
#src "https://example.com/product.jpg"
#alt "商品の写真"
#width 300
#caption "商品イメージ"サポートされるプロパティ:
src: 画像のURLalt: 代替テキストwidth: 幅(ピクセルまたは”auto”)height: 高さ(ピクセルまたは”auto”)caption: キャプションvisible: 表示/非表示
video - 動画表示
動画を表示するフィールドです(入力ではなく表示用)。
### 説明動画
#type video
#src "https://example.com/explanation.mp4"
#width 400
#caption "サービス紹介動画"サポートされるプロパティ:
src: 動画のURLwidth: 幅(ピクセルまたは”auto”)height: 高さ(ピクセルまたは”auto”)caption: キャプションvisible: 表示/非表示
その他
boolean - Yes/No選択
真偽値(Yes/No)の選択フィールドです。
### メール配信希望
#type boolean
#onLabel "希望する"
#offLabel "希望しない"
#default falseサポートされるプロパティ:
onLabel: Trueの場合のラベルoffLabel: Falseの場合のラベルdefault: デフォルト値required: 必須選択visible: 表示/非表示
section_header - セクションヘッダー
セクション内に表示専用の見出しを追加するフィールドです。
### 重要事項
#type section_header
#title "個人情報の取り扱いについて"
#subtitle "以下の内容をよくお読みください"サポートされるプロパティ:
title: メインタイトルsubtitle: サブタイトルvisible: 表示/非表示
質問タイプの選択指針
テキスト入力の選択
- short_text: 名前、タイトル、短い回答(1行程度)
- long_text: 意見、コメント、詳細な説明(複数行)
- email: メールアドレス専用(バリデーション付き)
- phone: 電話番号専用
選択系の選択
- radio: 選択肢が少ない(2-5個程度)単一選択
- dropdown: 選択肢が多い(6個以上)単一選択
- checkbox: 複数選択が必要な場合
評価系の選択
- rating: 直感的な星評価(1つの項目)
- likert: 複数項目の同一尺度評価
- scale: 連続的な数値評価
- matrix: 複雑な評価表(行×列)
使用上の注意
1. 必須プロパティ
すべての質問タイプで #type プロパティは必須です:
### 質問
#type short_text # 必須2. プロパティの順序
プロパティの順序に制限はありませんが、#type を最初に書くことを推奨します:
### 質問
#type short_text
#required true
#placeholder "入力してください"3. 無効なプロパティ
質問タイプによってはサポートされていないプロパティがあります。無効なプロパティは無視されます。
次のステップ
質問タイプを理解したら、以下のページで詳細を確認してください:
- プロパティリファレンス - 各プロパティの詳細説明
- 実装例 - 実際の使用例とベストプラクティス
- 型定義 - TypeScript型定義の詳細